ThinkPHP 3.2.2 控制器中添加getActionName方法

jerry thinkphp 2015年11月19日 收藏
刚升级的ThinkPHP 3.2.2中突然发现,在3.1版本好用的getActionName方法,在ThinkPHP 3.2.2中居然没有
刚升级的ThinkPHP 3.2.2中突然发现,在3.1版本好用的getActionName方法,在ThinkPHP 3.2.2中居然没有,出现了令人胆寒的哭相:

纠结呀,没得办法自己动手丰衣足食,添加进去,按图索骥,根据提示找到Controller.class.php,手动添加如下代码:
/**
     * 获取当前Action名称
     * @access protected
     */
    protected function getActionName() {
        if(empty($this->name)) {
            // 获取Action名称
            $offset=strrpos(get_class($this), '\\', -10);  // 从尾部第 10 个位置开始查找
            $this->name     =   substr(get_class($this),$offset+1,-10);
        }
        return $this->name;
    }
然后在可以在控制器中正常是用getActionName()方法获取控制器名称了:
$name=$this->getActionName();