我已经搜索了类\Phalcon\Mvc\Controller
& \Phalcon\DI\Injectable
,但无法理解该filter
属性的来源。
如果在控制器中我使用
$this->filter
它从何而来?接口不会在任何地方反映此属性。
谢谢
与(https://stackoverflow.com/questions/13303141/controllers-attr-this-filter-where-from)相关,不幸的是由于原始海报的英语而关闭。
我已经搜索了类\Phalcon\Mvc\Controller
& \Phalcon\DI\Injectable
,但无法理解该filter
属性的来源。
如果在控制器中我使用
$this->filter
它从何而来?接口不会在任何地方反映此属性。
谢谢
与(https://stackoverflow.com/questions/13303141/controllers-attr-this-filter-where-from)相关,不幸的是由于原始海报的英语而关闭。
在 Phalcon Dependency Injection ( \Phalcon\DI
) 容器中,服务被注册并相互交互。
\Phalcon\Mvc\Controller
自动允许使用魔术方法访问在 DI 容器中注册的服务。
所以假设你已经filter
在你的 DI 容器中注册了一个服务:
$di->set(
'filter',
function ()
{
return new \Phalcon\Filter();
}
}
该服务现在可以通过以下方式在您的控制器中使用:
$filter = $this->filter;
或者
$filter = \Phalcon\DI::getDefault()->get('filter');
存储在 DI 容器中的任何内容也是如此。