初始问题 受保护的函数_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"
答案 0 :(得分:1)
实际上,$this->bootstrap('mail');
正在调用_initMail()
方法。所以,你有一个无限调用自己的方法,这就是你得到“循环资源依赖”错误消息的原因。
对_initXXX()
方法的调用已由$application->bootstrap()
文件中的index.php
处理,如果您在方法之间存在依赖关系,则只需明确使用它们(即,邮件取决于别的东西)。
希望有所帮助,