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

類似用戶登錄的案例

オリジナル 2019-06-10 08:58:20 274
サマリー:<?php//容器:也叫服務(wù)容器(Ioc)//基本思想 拿來就用,最大限度簡(jiǎn)化外部調(diào)用,類似于即插即用//創(chuàng)建容器:本質(zhì)就是將一個(gè)類與它的實(shí)現(xiàn)綁定到一個(gè)關(guān)聯(lián)的數(shù)組;//服務(wù)注冊(cè):初始化這個(gè)關(guān)聯(lián)數(shù)組,將工具類綁定到容器中;//容器依賴:也叫依賴容器,調(diào)用的時(shí)候直接傳一個(gè)容易對(duì)象即可,不用再一個(gè)一個(gè)傳具體對(duì)象;//數(shù)據(jù)庫操作類class Db{ //數(shù)據(jù)庫連接 public

<?php
//容器:也叫服務(wù)容器(Ioc)
//基本思想 拿來就用,最大限度簡(jiǎn)化外部調(diào)用,類似于即插即用
//創(chuàng)建容器:本質(zhì)就是將一個(gè)類與它的實(shí)現(xiàn)綁定到一個(gè)關(guān)聯(lián)的數(shù)組;
//服務(wù)注冊(cè):初始化這個(gè)關(guān)聯(lián)數(shù)組,將工具類綁定到容器中;
//容器依賴:也叫依賴容器,調(diào)用的時(shí)候直接傳一個(gè)容易對(duì)象即可,不用再一個(gè)一個(gè)傳具體對(duì)象;

//數(shù)據(jù)庫操作類
class Db
{
 //數(shù)據(jù)庫連接
 public function connect()
 {
  return '數(shù)據(jù)庫連接成功<br/>';
 }
}
//數(shù)據(jù)庫驗(yàn)證
class Validate
{
 //數(shù)據(jù)驗(yàn)證
 public function check()
 {
  return '數(shù)據(jù)驗(yàn)證成功<br/>';
 }
}
//視圖類
class View
{
 //內(nèi)容輸出
 public function display()
 {
  return '用戶登錄成功';
 }
}

/*********************************/
//創(chuàng)建容器類
class Container
{
 //創(chuàng)建一個(gè)空數(shù)組用來保存工具類以及時(shí)實(shí)現(xiàn)方法
 protected $instance = [];

 //將需要實(shí)例化的類與它的實(shí)現(xiàn)方法進(jìn)行綁定;將對(duì)象容器初始化
 public function bind($abstract, Closure $process)
 {
  $this->instance[$abstract] = $process; 
 }

 //創(chuàng)建特定類的實(shí)例
 public function make($abstract,$params=[])
    {
     return call_user_func_array($this->instance[$abstract],[]);
    }
}
/*********************************/
//服務(wù)注冊(cè):其實(shí)就是調(diào)用容器的bind()將對(duì)象注冊(cè)到容器中
$container = new Container();

//將Db類綁定到容器中
$container->bind('db',function(){
 return new Db();
});
//將Validata類綁定到容器中
$container->bind('validate',function(){
 return new Validate();
});
//將View類綁定到容器中
$container->bind('view',function(){
 return new View();
});




<?php
//在外觀模式facade中,創(chuàng)建一個(gè)初始化方法事先注入容器,來簡(jiǎn)化代碼
require 'demo.php';

class Facade
{
 //保存容器對(duì)象
 protected static $container = null;
    //創(chuàng)建初始化方法 給容器對(duì)象賦值
    public static function initialize(Container $container)
    {
     static::$container = $container;
    }

 //連接數(shù)據(jù)庫
 public static function connect()
 {
  return static::$container->make('db')->connect();
 }
 //數(shù)據(jù)驗(yàn)證
 public static function check()
 {
  return static::$container->make('validate')->check();
 }
 //輸入提示
 public static function display()
 {
  return static::$container->make('view')->display();
 }
}

//客戶端調(diào)用
echo '<h3>簡(jiǎn)化后facade調(diào)用:</h3>';
Facade::initialize($container);
echo Facade::connect();
echo Facade::check();
echo Facade::display();


添削の先生:查無此人添削時(shí)間:2019-06-10 09:07:52
先生のまとめ:完成的不錯(cuò)。編程有很多設(shè)計(jì)模式,多了解,對(duì)以后工作幫助很大。繼續(xù)加油。

手記を発表する

人気のある見出し語