Я немного запутался, как DI работает с ZF2.Я провел последние пару дней, пытаясь обдумать это.Хотя я добился определенного прогресса, многое из этого все еще сбивает меня с толку ...
Используя это руководство (http://akrabat.com/getting-started-with-zend-framework-2/)), мне удалось понять, что следующее:
'di' => array('instance' => array(
'alias' => array(
'album' => 'Album\Controller\AlbumController',
),
'Album\Controller\AlbumController' => array(
'parameters' => array(
'albums' => 'Album\Model\Albums',
),
),
работает, потому чтов нашем классе Album Controller у нас есть функция setAlbum. Поэтому, когда класс DI вызовет эту функцию setAlbums и передаст ей класс 'Album \ Model \ Albums'.
Теперь давайте посмотрим на это (которое поставляется в скелетном приложении с сайта Zend)
'Zend\View\HelperLoader' => array(
'parameters' => array(
'map' => array(
'url' => 'Application\View\Helper\Url',
),
),
),
Теперь я ожидаю, что в Zend \ View \ HelperLoader (или унаследованном классе) будет содержатьсяФункция setMap (), чтобы класс DI передавал массив. Но, похоже, это не так. Поскольку я нигде не могу найти setMap.
Мой первый вопрос: что я не понимаю, как работает DI?с ZF2 ... Но также и то, что на самом деле делает приведенный выше код (о zend \ view \ helper). Я имею в виду то, что делает внедрение 'map' => array ('url' => 'Application \ View \ Helper \ Url') в Zend \ View \ HelperLoader на самом деле?
Спасибо за любую помощь, которую может оказать любой.Я ценю, что это бета-версия, и ответы, которые я могу получить сейчас, не будут применены через несколько месяцев.Но все это кажется довольно фундаментальным, и я просто не понимаю!