【发布时间】:2014-07-07 10:41:29
【问题描述】:
在 CakePHP 中,可以使用
$this->action
语法。它返回所调用内容的文字字符串,因此如果 URL 是 /do_this,则返回 do_this,如果是 doThis,则返回 doThis。不管被调用方法的真名。
另一方面,我正在寻找的是被调用方法的实际名称,无论 URL 语法如何。
有没有办法找到它?
我最好能够在beforeFilter 方法中执行此操作。
【问题讨论】:
-
它是 cakephp 的干净 url 的结构,无论你在 url 中写入什么,都会调用该动作。例如 www.domain.com/x/y 将在 x 控制器中调用 y 动作。这是在您的 .htaccess 文件中定义的。
-
如果您能解释一下您要解决的实际问题会有所帮助,即为什么您需要确切的方法名称?附言。请始终提及您的确切 CakePHP 版本并相应地标记您的问题!
-
也许您可以采取行动,然后为每种可能的情况执行
if(method_exists('doThis'))。但是同意 ndm,如果你澄清你的意图,可能会有更好的方法。 (另见function_exists)
标签: php cakephp controller action