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

類似用戶登錄的案例

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

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

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

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

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

 //創(chuàng)建特定類的實例
 public function make($abstract,$params=[])
    {
     return call_user_func_array($this->instance[$abstract],[]);
    }
}
/*********************************/
//服務注冊:其實就是調(diào)用容器的bind()將對象注冊到容器中
$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)建一個初始化方法事先注入容器,來簡化代碼
require 'demo.php';

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

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

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


Professeur correcteur:查無此人Temps de correction:2019-06-10 09:07:52
Résumé du professeur:完成的不錯。編程有很多設(shè)計模式,多了解,對以后工作幫助很大。繼續(xù)加油。

Notes de version

Entrées populaires