如何在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);