2012-01-17 48 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)。