0

Я использовал это в моем module.config.php с начала беты:ZF2 DI Setter Injection больше не работает

'di' => array(
    'instance' => array(
     'alias' => array(
      'Model' => 'Application\Model\Application', 
     ), 
     'Application\Controller\IndexController' => array(
      'parameters' => array(
       'Model' => 'Model', 
      ) 
     ), 
    ), 
), 

Имея это в IndexController:

protected $Model; 

public function setModel (\Application\Model\Model $Model) 
{ 
    $this->Model = $Model; 
} 

Но он остановился работать, так как я обновлялся с бета5 до rc2. Я не могу найти изменения в коде ZF2 и документации.

ответ

0

Как упомянуто @superdweebie, защитное отверстие было закрыто, где Di мог создать экземпляр класса неконтроллеров.
Для продолжения использования контроллеров от Di вы должны их в белый список Di конфигурации:

return array(
    'di' => array(
     'allowed_controllers' => array(
      // controllers list goes here 
     ), 
     //... 
    ), 
); 

Также проверьте this blog post by Marco Pivetta. В нем объясняется, как использовать Di и контроллеры.

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