Closed ichynul closed 2 years ago
由于控制器只会实列化一次,如果想在每个控制器中的action执行前做一些用的初始化就不方便。 添加两个方法_init/_deinit分别在请求执行前和执行后做一些额外的操作。 关于方法的命名,一开始是想用initialize和deinitialize。但参考tp框架时,initialize方法是protected的,无法在外部调用,所以就用了_init,然后在里面调用initialize
_init
_deinit
initialize
deinitialize
namespace app\controller; class Basecontroller { public function _init() { $this->initialize(); } public function _deinit() { } //在子控制器中重写此方法。 protected function initialize() { //do something } }
https://www.workerman.net/plugin/30 这个有插件。后面框架本身可能会支持一个参数,用来开启是否每个请求都重新初始化控制器
由于控制器只会实列化一次,如果想在每个控制器中的action执行前做一些用的初始化就不方便。 添加两个方法
_init
/_deinit
分别在请求执行前和执行后做一些额外的操作。 关于方法的命名,一开始是想用initialize
和deinitialize
。但参考tp框架时,initialize
方法是protected的,无法在外部调用,所以就用了_init
,然后在里面调用initialize