2011-09-16 16 views
1

初值問題 保護的函數_initMail() { $這 - >自舉( '郵件'); } 在我的bootstrap.php 與失敗:引導某些資源,如郵件失敗

未捕獲的異常 'Zend_Application_Bootstrap_Exception' 有消息 通函資源依賴檢測「

解決方案:不要中調用的ressource它自己的引導方法(例如mail => _initMail)。

問題:如何在控制器中簡化配置中的資源配置以減少配置代碼?

到目前爲止,我得到$ bootstrap-> getResource('mail')來返回看起來有點像我試圖實現的東西。 它返回Zend_Mail_Transport_Sendmail的一個實例(接近emtpy,沒有設置任何屬性)。 目標是將Zend_Mail ::的靜態屬性設置爲配置中定義的值

這似乎是一個關於如何實際引導Zend資源的常見問題,因爲沒有正確的文檔,引導某些資源。 我只是遵循標準(和bootstrap視圖示例)。

我的application.ini似乎被配置爲處理所需要的郵件配置信息:

resources.view[] = 
autoloaderNamespaces[] = "ZSC_" 
wall.upload = APPLICATION_PATH "/uploads" 
wall.uploadTemporary = APPLICATION_PATH "/temp" 

resources.mail.transport.type = sendmail 
;resources.mail.transport.host = "smtp.udag.de" 
;resources.mail.transport.auth = login 
;resources.mail.transport.username = nix 
;resources.mail.transport.password = nix 
resources.mail.transport.register = true ; True by default 

resources.mail.defaultFrom.email = "[email protected]" 
resources.mail.defaultFrom.name = "Mr Conexco Support" 

回答

1

其實,$this->bootstrap('mail');被調用_initMail()方法。所以,你有一個方法無限地調用自己,這就是爲什麼你得到「循環資源依賴」錯誤消息。

_initXXX()方法通過$application->bootstrap()index.php文件已處理的呼叫,你只需要明確地使用他們,如果你有方法之間的依賴關係(即取決於別的郵件)。

希望有幫助,

+0

是的,但使用$ this-> getResource('mail');不適用於...... :( –

+0

試着用'$ this-> getPluginResource('mail')',我用這個代替 – dinopmi

+1

你也可以直接調用方法,這樣你可以調用' $ this-> bootstrap('mail')'不引入循環 –