2013-07-15 5 views
0

Я новичок в zend framework и пытаюсь понять, как работает самонастройка. До сих пор я понял, что Zend_Application загружает среду PHP, включает в себя пути, настраивает автозагрузчики, а затем вызывает метод начальной загрузки класса Bootstrap.Zend Bootstrap class и плагины ресурсов

Метод Bootstrap выполняет все методы ресурсов (_init *()), а затем выполняет плагины ресурсов.

Вопрос в том, что произойдет, если я настрою один и тот же ресурс с помощью метода ресурсов и с помощью плагина ресурса? Пример ниже:

//Bootstrap resource method 
    protected function _initLayout(){ 
      $this->bootstrap('layout'); 
      $layout = $this->getResource('layout'); 
      $layout->setLayout('index'); 
    } 

//Bootstrap resource plugin 
resources.layout.layout = "main" 

В настоящее время плагин ресурс вызывается после метода ресурсов таким образом это должно перезаписать мое расположение и установить его на «основной», но этого не происходит.

Не должны ли ресурсы плагина перезаписывать настройки наших методов ресурсов?

И что я должен использовать для загрузки ресурсов методов или плагинов ресурсов?

Благодарим за помощь.

ответ

1

Класс bootstrap не будет загружать ресурсы, которые уже были выполнены, поэтому в вашем примере плагин ресурсов не будет запущен, потому что вы создали ресурс «layout» с помощью метода класса. Если вы измените имя метода, оно будет работать так, как вы ожидаете.

Я бы не стал создавать _init методы, соответствующие именам плагинов, так как это вызывает непредсказуемые проблемы.

Что я должен использовать для загрузки методов ресурсов или плагинов ресурсов?

Вы можете использовать любой из них, поэтому это зависит от личных предпочтений. Я предлагаю придерживаться одного подхода или, возможно, иметь такое соглашение, как использовать плагины ресурсов для настройки стандартных вещей и методов ZF для пользовательских ресурсов приложений.

Смежные вопросы