TP6获取控制器名,方法名

1 篇文章 0 订阅

第一种:助手函数调用

Request()->controller(); //获取控制器名
Request()->action(); //获取方法名

第二种:门面函数facade的静态调用

\think\facade\Request::action();
\think\facade\Request::controller();

第三种:app类的静态调用,注意此App为 use think\facade\App;

(App::class)::make('request')->action();    
或者:  App::make('request')->action();
或者:  Facade::make('request')->action();
或者:  Facade::createFacade('request')->action();

此种方法最终调用了容器类Container,所以说容器类是所有方法调用的源头,容器是管理依赖注入的工具,这个是tp6的精华。

第四种:app类非静态调用

use think\App;
 (new App())->make('request')->action();

第五种:容器类直接调用

Container::getInstance()->make('request')->action();

第六种:超级助手函数app()调用:

app('request')->action();

或使用下面的方式(以下方式即将被弃用)

$request= \think\Request::instance();
$module = $request->module();//模块名
$controller = $request->controller();//控制器名
$action = $request->action();//方法名

另外附PHP获取类中的所有方法。 在当前类中直接使用:

$A = get_class_methods($this); 
halt($A); 

我们打印一下,发现返回的是一个数组,里面包含了当前类的,父类的,父父类的所有方法。 是方法的列表集。
在tp6中使用facade方式来静态调用里面的方法都是可以的,所以facade不仅仅是简单的一个封装,而是可以对以前写的方法全部使用静态调用,这样可以避免实例化,直接使用其中的方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值