欢迎光临散文网 会员登陆 & 注册

看了thinkphp5源码,然后记录下这个php门面模式

2023-03-14 09:15 作者:你们不吃饭的吗  | 我要投稿

<?php


namespace  think;


class facade{

    protected static function getFacadeClass()

    {}

  // 调用实际类的方法

    public static function __callStatic($method, $params)

    {

        return call_user_func_array(  [static::createFacade(), $method], $params);

    }

protected static function createFacade($class = '', $args = [])

    {

        $class = $class ?: static::class;  //think\facade\Test

$class=static::getFacadeClass();


//$class='think\\'.$class;

return  new $class;

}

}



namespace  think\facade;


class a  extends \think\facade


{

protected static function getFacadeClass()

    {


        return 'think\\a';

    }

}


namespace  think;


class a{



public function show()


{

echo  '我是a类,但不是静态方法';


}


}



\think\facade\a::show();



?>


看了thinkphp5源码,然后记录下这个php门面模式的评论 (共 条)

分享到微博请遵守国家法律