在tp5.1中获取所有控制器的文件名和所有控制器下的方法名

我在这块做的是下拉框改变控制器然后ajax去调用获取方法

上代码

private function redController(){//获取当前控制器目录下所有的文件名
  $arr=scandir('./../application/index/controller');
  unset($arr[0],$arr[1]);//因为这样获取到的数组前两位是. 和..,所以删去
  $list=[];
  foreach($arr as $k=>$v){
    $list[]=pathinfo($v,PATHINFO_FILENAME);
  }
  return $list;
}

private function redFunction(){//获取方法名
  $class=input('post.class');
  $own=get_class_methods($class);
  if($parent=get_parent_class($class)){
    $p_function=get_class_methods($parent);
    $newarr=array_diff($own,$p_function);
  }else{
    $newarr=$own;
  }
  echo json_encode($newarr);
}

就是说在这块这个get_class_methods()中,传值是可以写字符串,但是这个在类中写字符串的话行不通,就只能实例化这个类,然后才能出结果

就是简单一些的可以在接值下面加一些判断,来给值不同,实例化不同的控制器

转载于:https://www.cnblogs.com/sdfgdrg/p/10559347.html

你可能感兴趣的:(在tp5.1中获取所有控制器的文件名和所有控制器下的方法名)