dd

TP操作方法的缺陷解决办法(续)


还记得之前提过的关于TP操作方法的缺陷解决吧,现在3.1版本中有了更简单的解决方法,只需要配置下ACTION_SUFFIX配置参数即可,显然比用行为扩展的方式要简单多了,例如:
'ACTION_SUFFIX'=>'Run'
也就是支持给操作方法定义后缀,如果配置了上面的参数,我们实际调用的操作方法就是操作名加上Run后缀了,假设我们当前访问的URL地址是:
http://localhost/index.php/User/list
访问的是User模块的list操作,在没有配置ACTION_SUFFIX之前,由于list方法是php内置方法会有冲突,现在配置之后,实际访问的应该是UserAction控制器的listRun方法:
class UserAction extends Action{
    public function listRun(){
        // 操作方法具体代码
    }
}
当然了,你可以配置任意的字符串作为操作方法后缀,ACTION_SUFFIX配置参数不会影响当前操作名的使用,对A和R方法的调用也没有任何影响。但是需要注意的是,操作名后缀不要和控制器类的后缀冲突,否则会重新重复调用的情况。