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

用戶登錄驗(yàn)證

Original 2019-03-16 15:23:30 197
abstrakt:<?php //container  代碼 class Db { public function connect() { return '數(shù)據(jù)庫(kù)連接成功<br/>'; } } //數(shù)據(jù)驗(yàn)證類 class Validate { public function che
<?php
//container  代碼
class Db
{
	public function connect()
	{
		return '數(shù)據(jù)庫(kù)連接成功<br/>';
	}
}
//數(shù)據(jù)驗(yàn)證類
class Validate
{
	public function check()
	{
		return '數(shù)據(jù)驗(yàn)證成功<br/>';
	}
}
//視圖類
class View
{
	public function display()
	{
		return '用戶登錄成功<br/>';
	}
}
//以上三個(gè)類當(dāng)做工具類

//創(chuàng)建容器類
class Container
{
	//創(chuàng)建一個(gè)空數(shù)組來(lái)保存工具類以及實(shí)現(xiàn)的方法
	protected $instance = [];
	//將需要實(shí)例化的類與它的實(shí)現(xiàn)方法(怎么實(shí)例化)進(jìn)行綁定:將對(duì)象容器初始化
	public function bind($class, Closure $new)//Closure $new定義一個(gè)閉包方法
	{
		$this->instane[$class]=$new;
		/*$this->instance['db']=function(){  //傳入的方法就是如何實(shí)例化對(duì)象,
			return new db('localhost','root');
		}*/
	} 
	public function make($class,$params=[])//$params表示要傳入的參數(shù)   對(duì)外調(diào)用
	{
		//call_user_func_array()回調(diào)一個(gè)函數(shù),
		return call_user_func_array($this->instance[$class], []]);
	}
	
}
$container = new Container();
//將類綁定到容器中
$container->bind('db',function(){
	return new Db();
});
$container->bind('validate',function(){
	return new Validate();
});
$container->bind('view',function(){
	return new View();
});
//Facade代碼
<?php
require 'container.php';

class Facade
{
	//保存容器對(duì)象
	protected static $container = null;
	//創(chuàng)建初始化方法,給容器對(duì)象賦值
	public static function initalize(Container $container)
	{
		static::$container = $container;//把對(duì)象保存起來(lái)
	}
	
	public static function connect()
	{
		return static::$container->make('db')->connect();
	}
	public static function check()
	{
		return static::$container->make('validate')->check();
	}
	public static function display()
	{
		return static::$container->make('view')->display();
	}
}
echo '<h3>優(yōu)化后的門面統(tǒng)一調(diào)用</h3>';
Facade::initalize($container);//進(jìn)行初始化
echo Facade::connect();
echo Facade::check();
echo Facade::display();


Korrigierender Lehrer:查無(wú)此人Korrekturzeit:2019-03-18 09:14:53
Zusammenfassung des Lehrers:寫的不錯(cuò)。門面模式的技巧,這個(gè)可以說說你的理解。老師才知道你學(xué)的怎么樣。繼續(xù)加油。

Versionshinweise

Beliebte Eintr?ge