获取目录下的所有php控制器和方法

admin 2023-11-24 450 阅读 0评论
//可以根所使用的版本或者不同框架进行修改
//
获取应用下的所有控制器和方法
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;
}

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 450人围观)

最近发表

热门文章

最新留言

热门推荐

标签列表