Я изо всех сил пытаюсь соединить точки между способом ZF1 для инициализации вещей в начальной загрузке и способом ZF2 для внедрения вещей из файла конфигурации (по-видимому).
А именно, в ZF1 у меня в бустере было что-то вроде этого:
protected function _initNavigation()
{
$this->bootstrap('layout');
$this->bootstrap('view');
$navigation = new Zend_Navigation();
// ...code to add pages...
$layout = $this->getResource('layout');
$view = $layout->getView();
$view->navigation($navigation);
}
В ZF2 я даже не уверен, с чего начать искать, чтобы выполнить нечто подобное.
Я прочитал сообщения, которые относятся к:
public function onBootstrap (Event $e)
{
}
и как вы можете делать такие вещи, как:
$application = $e->getApplication();
$services = $application->getServiceManager();
Но что эквивалентно:
$layout = $this->getResource('layout');
$view = $layout->getView();
$view->navigation($navigation);
Могу ли я сделать это в модуле или лучше сделать это в файле конфигурации и внедрить? Если инжектировать, то как?
Я прочитал учебник Роба Аллена и искал в сети примеры вещей, которые выходят за рамки кода уровня учебника. То, что я нашел (как и другие модули ZF2), было больше ориентировано на то, чтобы быть рабочими модулями (понятно), чем быть примерами, чтобы передать нюансы другим... Поскольку я не могу найти много по этой теме, я Я предполагаю, что есть какая-то маленькая, фундаментальная вещь, которую я упускаю, и — когда я ее увижу — все это обретет смысл.