如何根据文本内容(路径)调用控制器

kspade

我把对应的控制器路径放在数据库,如何根据内容调用控制器

下面的是正常的以命名空间调用控制器方法

$u = new \app\admin\controller\Index;
$u->index();

由于业务所需我可能在需要根据不同的参数调用控制器(控制器太多 if 代码量太大)
因此我定了数据库储存控制器路径 ,根据请求取得对应的然后调用方法
但是储存在数据库是字符串比如$path = '\app\admin\controller\Index';

根本无法实现:$u = new $path; 这样调用控制器

请问大家我该如何做?

428 1 0
1个回答

小W

办法千千万,我只送你一个:$path = '\app\admin\controller\IndexController';

  • kspade 2023-03-25

    $u->help();
    后面的这个 help() 有办法利用字符串来转换吗?比如我字符串为hook ,就调用:$u->hook();
    字符串是不确定的 未知的,不管是否存在方法,都根据字符串调用对应的方法 可有办法

  • kspade 2023-03-25

    当然我肯定会提前判断方法是否存在,重点是,我应该怎么把字符串转成调用方法一样的效果

年代过于久远,无法发表回答
🔝