Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在cakephp中获得控制器内所有函数的列表_Php_Cakephp_Cakephp 2.0 - Fatal编程技术网

如何在cakephp中获得控制器内所有函数的列表

如何在cakephp中获得控制器内所有函数的列表,php,cakephp,cakephp-2.0,Php,Cakephp,Cakephp 2.0,我需要在中选择一个控制器并显示其中写入的所有函数。我找到了如何从这个问答线程中列出控制器,但我现在需要的是一个特定的控制器,我需要得到它包含的所有函数的列表 这就是我所做的 public function getControllerList() { $controllerClasses = App::objects('controller'); pr($controllerClasses); foreach($controllerClasses as $controller)

我需要在中选择一个控制器并显示其中写入的所有函数。我找到了如何从这个问答线程中列出控制器,但我现在需要的是一个特定的控制器,我需要得到它包含的所有函数的列表

这就是我所做的

public function getControllerList() {

   $controllerClasses = App::objects('controller');
   pr($controllerClasses);
   foreach($controllerClasses as $controller) { 

      $actions = get_class_methods($controller);
      echo '<br/>';echo '<br/>';
      pr($actions);

   }
}
然而,公共关系(行动);没什么…:(

这是我需要的最后一个工作片段


像这样的事情应该可以做到:

它基本上使用了一个非常基本的PHP函数:

$actions = get_class_methods($Controller);
然后获取父方法:

$parentMethods = get_class_methods(get_parent_class($Controller));
最后,使用array_diff,您可以在该控制器中获得实际操作:

$actions = array_diff($actions, $parentMethods);

然后你仍然可以过滤掉不想要的行为。

你知道我最喜欢的黑旗歌曲是什么吗?“给我给我给我”就是说,你做了什么来尝试实现这个目标?我还编辑了这个问题,让它更清楚你在说什么框架。你不能简单地说“给我这个!”我希望人们会这么做。很抱歉给我这个小礼物……我会在几分钟内更新我的代码。谢谢!刚刚投票,因为这是一个有效的问题&代码显示你知道你在做什么。
$parentMethods = get_class_methods(get_parent_class($Controller));
$actions = array_diff($actions, $parentMethods);