我已经在我的module.config.php中使用了这个,因为早期的beta:
'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;
}
但是自从我从beta5更新到rc2后它停止了工作。我无法找到ZF2代码和文档中的更改。
答案 0 :(得分:1)
关闭安全漏洞,改变DI用于控制器的方式。看到: https://github.com/zendframework/zf2/pull/2005
答案 1 :(得分:0)
正如@superdweebie所说,安全漏洞被关闭,Di可以实例化非控制器类 要继续使用Di中的控制器,您必须在Di config中将它们列入白名单:
return array(
'di' => array(
'allowed_controllers' => array(
// controllers list goes here
),
//...
),
);
同时检查this blog post by Marco Pivetta。 它解释了如何使用Di和控制器。