Начальная загрузка определенных ресурсов, например почты, не удалась - PullRequest
1 голос
/ 16 сентября 2011

Начальная проблема защищенная функция _initMail () { $ This-> самозагрузки ( 'почта'); } в моем Bootstrap.php Сбой с:

Uncaught исключение 'Zend_Application_Bootstrap_Exception' с сообщением «Обнаружена круговая зависимость ресурса»

Решение: Не вызывайте Ressource в своем собственном методе начальной загрузки (например, mail => _initMail).

Вопрос: Как упростить настройку ресурсов в конфигурации, чтобы в контроллере было меньше кода конфигурации?

Пока что я получаю $ bootstrap-> getResource ('mail'), чтобы вернуть что-то, похожее на то, что я пытался достичь. Он возвращает экземпляр Zend_Mail_Transport_Sendmail (почти emtpy, без каких-либо установленных атрибутов). Цель состоит в том, чтобы статические свойства 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"

1 Ответ

1 голос
/ 16 сентября 2011

На самом деле, $this->bootstrap('mail'); вызывает метод _initMail(). Итак, у вас есть метод, вызывающий себя бесконечно, поэтому вы получаете сообщение об ошибке «Круговая зависимость от ресурса».

Вызовы методов _initXXX() уже обработаны $application->bootstrap() в вашем файле index.php, их нужно использовать явно, только если у вас есть зависимости между методами (то есть, почта зависит от чего-то еще). *

Надеюсь, это поможет,

...