php获取控制器名字,thinkphp获取所有控制器的名称和方法

我们知道获取当前控制器的名称和方便在thinkphp中提高相应的函数,tp5中:

$c = request()->controller();

$a = request()->action();

还是非常方便的,但是今儿要分享的是获取系统中所有控制器的名称和方法,是“所有”而不是“当前”。

先说一下我的应用场景,我的mobadmin项目中RBAC权限中对于节点的管理,就需要获取所有的控制器和方法以便我及时的把新增的控制器和方法添加到数据库的节点表中。

如下图:

0ddf781a35088d281dfbd2e29f53d3f2.png

我们先来获取所有控制器:

/**

获取某个目录下的php文件名的函数

*/

function getControllers($dir) {

$pathList = glob($dir . '/*.php');

$res = [];

foreach($pathList as $key => $value) {

$res[] = basename($value, '.php');

}

return $res;

}

//根据thinkphp文件命名规则可以知道文件名和控制器的名称是一致的;

//根据thinkphp目录结构可以知道控制器目录的路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值