亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

依賴注入和facade模式的簡單實用方法

Original 2019-05-25 16:31:10 263
abstract:<?php //數(shù)據(jù)庫類 class Db {     public function connect()     {         echo '數(shù)據(jù)庫連接成功<br>&#
<?php
//數(shù)據(jù)庫類
class Db
{
    public function connect()
    {
        echo '數(shù)據(jù)庫連接成功<br>';
    }
}
//主頁
class Display
{
    public function view()
    {
        echo '登陸成功,進入主頁<br>';
    }
}

//容器
class Container
{
    protected $arr=[];
    public function bind($index,Closure $item)
    {
        //將new出來的對象放在數(shù)組中
        $this->arr[$index]=$item;
    }
    public function make($index)
    {
        //調(diào)用函數(shù)
        return call_user_func_array($this->arr[$index],[]);
    }
}
$container=new Container();
$container->bind('db',function (){
    return new Db();
});
$container->bind('view',function (){
    return new Display();
});

class login
{
    public static $container=null;
    public static function init(Container $container)
    {
        static::$container=$container;
    }
    public static function connect()
    {
        static::$container->make('db')->connect();
    }
    public static function view()
    {
        static::$container->make('view')->view();
    }
}
//初始化
login::init($container);
login::connect();
login::view();


Correcting teacher:天蓬老師Correction time:2019-05-25 17:28:43
Teacher's summary:現(xiàn)代php中框架中, 幾乎都不約而同的使用了Facade模式, 也叫外觀模式, 可以使類中的方法對外提供統(tǒng)一的調(diào)用接口

Release Notes

Popular Entries