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

模擬用戶登陸驗證的案例

オリジナル 2019-04-21 22:20:21 251
サマリー:<?php /**  * 2019-04-21  */ // 數據庫操作類 class Db {     public function connect()     {       
<?php
/**
 * 2019-04-21
 */

// 數據庫操作類
class Db
{
    public function connect()
    {
        return '數據庫連接成功';
    }
}

// 數據驗證類
class Validate
{
    public function check()
    {
        return '數據驗證成功';
    }
}

// 視圖渲染類
class View
{
    public function display()
    {
        return '登陸成功';
    }
}


// 創(chuàng)建容器類
class Container
{
    // 創(chuàng)建容器
    public $instance = [];

    // 綁定  參數一:類名,參數二:實例化匿名函數,將對象容器初始化
    public function bind($abstract,Closure $course) {
        // 將工具類綁定到容器中
        $this->instance[$abstract] = $course;
        // 類似于:
        /*$this->instance['db'] = function (){
            return new Db();
        }*/
    }

    // 實現方法
    public function make($abstract,$params = [])
    {
        // 查詢類中的方法
        return call_user_func_array($this->instance[$abstract],$params);
    }
}

// 注冊容器
$container = new Container();
// 添加Db類到容器中
$container->bind('db',function(){
    return new Db();
});

// 添加驗證類到容器中
$container->bind('validate',function(){
    return new Validate();
});

// 添加視圖類到容器中
$container->bind('view',function(){
    return new View();
});


/*print_r($container->instance);
echo $container->make('db')->connect();*/


// 使用Facade 依賴注入  統(tǒng)一入口
class Facade
{
    // 定義靜態(tài)屬性,存放存放容器類
    protected static $instance = null;

    // 創(chuàng)建方法傳入Container類
    public static function Container(Container $container)
    {
        return static::$instance = $container;
    }

    // 數據庫連接方法
    public static function connect()
    {
        return static::$instance->make('db')->connect();
    }

    // 驗證類
    public static function validate()
    {
        return static::$instance->make('validate')->check();
    }

    // 視圖類
    public static function view()
    {
        return static::$instance->make('view')->display();
    }

}

// 使用Facade 實現Db,Validate,View,流程

// 將容器綁定到外觀模式中
Facade::Container($container);
echo '<h2>使用Facade統(tǒng)一入口模式實現工具類中的三個方法</h2>';
echo Facade::connect(),'<br>';
echo Facade::validate(),'<br>';
echo Facade::view(),'<br>';


添削の先生:西門大官人添削時間:2019-04-22 10:55:13
先生のまとめ:代碼最好自己寫出來。不要拷貝老師的課件源碼。

手記を発表する

人気のある見出し語