引导某些资源,例如邮件失败

时间:2011-09-16 09:53:13

标签: php zend-framework zend-mail

初始问题     受保护的函数_initMail()     {         $这 - >自举( '邮件');     } 在我的Bootstrap.php中 失败了:

  

带有消息的未捕获异常'Zend_Application_Bootstrap_Exception'   “检测到循环资源依赖性”

解决方案:不要在自己的引导方法中调用Ressource(例如mail => _initMail)。

问题: 如何在配置中简化设置资源以减少控制器中的配置代码?

到目前为止,我得到$ bootstrap-> getResource('mail')来返回看起来有点像我想要实现的东西。 它返回Zend_Mail_Transport_Sendmail的一个实例(几乎是emtpy,没有设置任何属性)。 目标是将Zend_Mail ::的静态属性设置为config

中定义的值

这似乎是一个关于如何实现引导Zend资源的一般性问题,因为没有正确的documentad如何引导某些资源。 我只是遵循标准(和引导视图示例)。

我的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 = "support@conexco.de"
resources.mail.defaultFrom.name = "Mr Conexco Support"

1 个答案:

答案 0 :(得分:1)

实际上,$this->bootstrap('mail');正在调用_initMail()方法。所以,你有一个无限调用自己的方法,这就是你得到“循环资源依赖”错误消息的原因。

_initXXX()方法的调用已由$application->bootstrap()文件中的index.php处理,如果您在方法之间存在依赖关系,则只需明确使用它们(即,邮件取决于别的东西)。

希望有所帮助,