//可以根所使用的版本或者不同框架进行修改
//
获取应用下的所有控制器和方法
function AllMethods(){
   //获取应用名称 tp版本:6.1.4
   $app = app('http')->getName();
   //拼接目录地址
   $dir = base_path() . $app . '\controller';
   //列出目录中的文件和目录
   $files = scandir($dir);
   $methods = [];
   $i = 0;
   //过滤方法
   $get_functions = array('initialize', '__construct', 'registerMiddleware', 'beforeAction','fetch','display','assign','filter','engine','validateFailException','validate','__debugInfo','success','error','result','redirect','getResponseType');
   foreach ($files as $file) {
       if (strpos($file, '.php') !== false) {
           $controllerName = str_replace('.php', '', $file);
           $className = '\app\\' . $app . '\controller\\' . $controllerName;
           //echo $className;die;
           //返回方法名
           $met = get_class_methods($className);
           //计算数组的差集
           $result = array_diff($met,$get_functions);
           foreach ($result as $k=>$v){
               $methods[$i]['module'] = $app;
               $methods[$i]['controller'] = $controllerName;
               $methods[$i]['action'] = $v;
               $i++;
           }
       }
   }
   return $methods;
}