Initialize()方法在Phalcon中的微应用程序中不起作用

时间:2016-09-01 08:09:09

标签: phalcon

我想在执行控制器方法之前执行一些操作。但我不能,因为initialize()方法在微应用程序中不起作用。我可以在Base控制器中查看方式并执行一些操作,但我认为它无效。

2 个答案:

答案 0 :(得分:2)

您无法覆盖__construct()的{​​{1}}方法,因为Phalcon\Mvc\Controller定义为__construct(),因此无法更改。

解决方法是让您的final像这样延伸(而不是baseController):

Phalcon\Mvc\Controller

或者代替上面的恶作剧,你可以使用内置方法class BaseController extends \Phalcon\DI\Injectable { public function __construct() { // ... } } class YourController extends BaseController { // do stuff }

onConstruct

请注意,class BaseController extends Phalcon\Mvc\Controller { public function onConstruct() { // ... } } 方法会在创建控制器时触发。这与onConstruct()方法的行为不同,后者在 initialize()之后触发

答案 1 :(得分:0)

是的,因为微控制器只是处理程序。可能使用__construct