2012-01-17 66 views
1

我已经把我的自定义装饰器窗口Zend框架 - 如何设置自动加载程序进行自定义装饰

应用程序/模块/标签/表格/装饰

我的应用效果很好的窗口,但在Linux中,Zend无法在Zend/Forms/Decorators中找到我的代码。(大写字母F和D)

如何为zend自动加载装饰器设置自动加载器? (我定制的装饰的名字是Tab_Forms_Decorators_Hr)

+0

'Zend/Form/Decorator'(注意单个'Form')?不知道为什么复数可以在Windows中工作,但是......但是,如果您正在定义自定义资源自动加载器,那么任何事情都是可能的。 – 2012-01-17 10:37:09

+0

@DavidWeinraub请原谅我,但我怎么能定义自定义资源自动加载器呢? – hungneox 2012-01-17 10:49:38

+0

对不起,并不是要混淆你。不(必然)说你应该。请注意,如果您有自定义资源自动加载器,我的建议(单个名称为“Form”)可能不适用。由于这听起来像你没有,@Ondrej的答案似乎是在正确的轨道上。 – 2012-01-17 12:28:49

回答

3

由于默认的路径段表/装饰和一流的前缀段Form_Decorator(见的Zend/form.php的来源,getPluginLoader()法),复数形式是怪异和奇异的人应通过使用。 Forms目录可能用于存储您自己的表格模型,所以可能会出现一些错误的配置?你没有发布整个错误...

但是这并不能解决你的问题。尝试使用addPrefixPath()添加自己的路径和前缀,像这样(和调整目录和类的名称根据本):

$form->addPrefixPath('Tab_Form_Decorator', 'Tab/Form/Decorator', 'decorator'); 

注意该路径必须在预先定义的一些地方开始(在如_initAutoload()引导。 .PHP)。