国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

facade和容器例子

Original 2018-12-17 17:23:57 229
abstract:<?php  //container.php //數(shù)據(jù)庫(kù)操作類 class Db { public function connect() { return '數(shù)據(jù)庫(kù)連接成功<br>'; } } //數(shù)據(jù)驗(yàn)證類 class Validate { public function&nbs
<?php 
//container.php
//數(shù)據(jù)庫(kù)操作類
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 '用戶登錄成功';
	}
}

//創(chuàng)建容器類
class Container
{
	//創(chuàng)建屬性,用空數(shù)組初始化
	public $instance = [];

	public function bind($abstract, Closure $process)
	{
		//鍵名為類名,值為實(shí)例化的方法
		$this->instance[$abstract] = $process;
	}

	//創(chuàng)建類實(shí)例
	public function make($abstract, $params=[])
	{
		return call_user_func_array($this->instance[$abstract],[]);
	}

}

//服務(wù)綁定: 將類實(shí)例注冊(cè)到容器中
$container = new Container(); 

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

//將Validate類實(shí)例綁定到容器中
$container->bind('validate', function(){
	return new Validate();
});

//將View類實(shí)例綁定到容器中
$container->bind('view', function(){
	return new View();
});
?>



<?php 
//facade
require 'container.php';
class Facade
{
//創(chuàng)建成員屬性保存容器對(duì)象
protected static $container = null;

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

//連接數(shù)據(jù)庫(kù)
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();
}
}

Facade::initialize($container);
echo Facade::connect();
echo Facade::check();
echo Facade::display();


Correcting teacher:天蓬老師Correction time:2018-12-17 17:32:56
Teacher's summary:門面也叫外觀模式, 可以將類中方法的調(diào)用方式統(tǒng)一, 但也會(huì)帶來(lái)性能的損失, 不必濫用

Release Notes

Popular Entries