刚升级的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();