新手接触thinkphp突然看到一个函数getActionName,从名称上看应该是获取当前控制的名称. 还有一个常量是ACTION_NAME,这就让人有点糊涂了,查询了一下搜索引擎,思路终于清晰.内容如下
在action中,内置了一个方法:getActionName,这个名称看起来与thinkphp一致,是获取当前的action名称,但是,其意义却会造成误会。因为,thinkphp的action,其实与zendframework中的 controller action 是一致的,是cotroller action的简写,是为了与JAVA的strus框架思想兼容。可以理解为一堆action的集合。所以,这个getActionName,是获取当前的模组名称。
坑爹的是,thinkphp又内置了一个常量,叫 ACTION_NAME 。这里的ACTION,与上面所说的ACTION却并不是同一个东西,这里的ACTION,与zend framework 里面的action概念一致,指的是具体的操作。
代码示例:
class test extentds action{
function index(){
echo $this->getActionName();//输出 test
echo ACTION_NAME;//输出index
}
}
所以,为了避免思想混淆,请直接忽略getActionName这个方法吧。
GROUP_NAME 当前分组名
MODULE_NAME 当前模块名
ACTION_NAME 当前操作名
上面这些例子可以清楚的看明白getActionName 和ACTION_NAME的差别了吧.