facade门面_Thinkphp6.0

  • 1,208
<?php 
namespace app\index\controller;

class Demo2
{
    public function index($name='ThinkPHP')
    {
        // $test = new \app\common\Test();
        // return $test->hello('PHP');  
        /**
         * 如果想静态调用一个动态方法,就需要给当前的类绑定一个静态代理类
         * 如果设置了静态代理类,那么要访问原类中的方法,就必须要通过静态代理类来进行
         * \app\facade\Test 是  \app\common\Test 的静态代理类
         * 可以使用use 来简化静态代理类名称


         * 【动态绑定 facade类不需要return】如果没有在静态代理类中显示指定要绑定的类,可以动态绑定一下
         * \think\Facade::bind('app\facade\Test','app\common\Test');
         */

        return \app\facade\Test::hello($name);  
    }


}
<?php 
namespace app\facade;

class Test extends \think\Facade 
{
    protected static function getFacadeClass()
    {
        return 'app\common\Test';//动态绑定不需要这一行 为空即可
    }
}
<?php
namespace app\common;

//用在Facade门面类静态代理的案例
class Test 
{

    public function hello($name)
    {

        return 'hello,' . $name;

    } 
}
weinxin
我的微信
这是我的微信扫一扫
开拓者博主
  • 本文由 发表于 2020年2月7日21:53:43
  • 转载请务必保留本文链接:https://www.150643.com/539.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: