ThinkPHP3.0完全开发手册
系统Action类提供了一个初始化方法_initialize接口,可以用于扩展需要,_initialize方法会在所有操作方法调用之前首先执行,用法:
_initialize 控制器初始化方法 |
|
用法 |
_initialize() |
参数 |
无 |
返回值 |
无 |
相关方法 |
可以和getActionName方法配合使用 |
除了初始化接口外,Action类还提供了两个用于行为扩展的标签位置action_begin和action_end,因此你还可以通过行为扩展来扩展控制器的功能。
控制器扩展只需要继承Action,例如:
Class ExtendAction extends Action{
Public function _initialize(){
// 初始化的时候检查用户权限
$this->checkRbac();
}
// 检查用户权限
protected function checkRbac() {
// 这里是具体的检测代码
}
// 添加新的上传操作方法
protected function upload() {
// 这里是具体的上传实现代码
}
}
在有些情况下面,控制器扩展并不一定要继承基础的Action。