THINKPHP5.1门脸类Facede类

被静态代理的类

<?php
/**
 * Created by PhpStorm.
 * User: 10475
 * Date: 2018/8/27
 * Time: 21:20
 */
namespace app\common;
class Test
{
    public function hello($name)
    {
        return 'Hello '.$name;
    }
}

对类进行静态代理

<?php
/**
 * Created by PhpStorm.
 * User: 10475
 * Date: 2018/8/27
 * Time: 21:38
 */

namespace app\facade;


class Test extends \think\Facade
{
    protected static function getFacadeClass()
    {
        return 'app\common\Test';
    }
}

静态的调用被代理的类

<?php
/**
 * Created by PhpStorm.
 * User: 10475
 * Date: 2018/8/27
 * Time: 21:20
 */
namespace app\demo\controller;
use app\facade\Test;
class Demo2
{
    public function index($name='Thinkphp')
    {
//       $test = new \app\common\Test();
//       return $test->hello($name);
        /**
         * 如果想静态调用一个动态方法,需要给当前的类绑定一个静态代理类
         * 如果设置了静态代理类,就只能用静态代理类访问原来的方法
         * 静态代理类用的是Facede
         */
        return Test::hello($name);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_38468437/article/details/82119687