【thinkphp漏洞】THINKPHP中的_initialize代替PHP析构函数

更新时间:2019-07-02    来源:thinkphp    手机版     字体:

【www.bbyears.com--thinkphp】

HINKPHP系统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() {
    // 这里是具体的上传实现代码
 }
}

本文来源:http://www.bbyears.com/jiaocheng/56107.html