1

初始问题 保护函数 _initMail() { $this->bootstrap('mail'); 在我的 Bootstrap.php 中失败:

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

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

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

到目前为止,我得到 $bootstrap->getResource('mail') 来返回一些看起来有点像我试图实现的东西。它返回 Zend_Mail_Transport_Sendmail 的一个实例(几乎是空的,没有任何属性集)。目标是将 Zend_Mail:: 的静态属性设置为配置中定义的值

这似乎是一个关于如何实际引导 Zend 资源的普遍问题,因为没有正确记录如何引导某些资源的地方。我只是遵循标准(和引导视图示例)。

我的 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"
4

1 回答 1

1

其实$this->bootstrap('mail');就是调用_initMail()方法。因此,您有一个无限调用自身的方法,这就是您收到“循环资源依赖”错误消息的原因。

对方法的调用_initXXX()已经$application->bootstrap()在您的index.php文件中处理,您只需在方法之间存在依赖关系时显式使用它们(即,邮件取决于其他内容)。

希望有帮助,

于 2011-09-16T09:59:07.943 回答