摘要://這里是容器模塊 <?php class Db { public function connect() { return '數(shù)據(jù)庫(kù)連接成功<br>'; } } class Validate { public function check() { return
//這里是容器模塊 <?php class Db { public function connect() { return '數(shù)據(jù)庫(kù)連接成功<br>'; } } class Validate { public function check() { return '數(shù)據(jù)驗(yàn)證通過(guò)<br>'; } } class View { public function display() { return '用戶登錄成功<br>'; } } class Container { protected $instance = []; public function __get($value) { return $this->$value; } public function bind($object,Closure $Closure) { $this->instance[$object] = $Closure; } public function make($object,$parameter=[]) { return call_user_func_array($this->instance[$object],[]); } } $container = new Container; $container->bind('Db',function(){ return new Db; }); $container->bind('Validate',function(){ return new Validate; }); $container->bind('View',function(){ return new View; });
下面是外觀調(diào)用
<?php include 'container.php'; class Facade { protected $container = null; public function init(Container $container) { $this->container = $container; echo '<pre>'; // var_dump($this->container); } public function connect() { return $this->container->make('Db')->connect(); } public function check() { return $this->container->make('Validate')->check(); } public function display() { return $this->container->make('View')->display(); } } $facade = new Facade; $facade->init($container); echo $facade->connect(); echo $facade->check(); echo $facade->display();
按照老師提供的案例自己通過(guò)思路做了一遍,感覺(jué)一下思想開(kāi)闊了很多,對(duì)于框架的一些調(diào)用方法有了一些想法,很實(shí)用的案例。
批改老師:滅絕師太批改時(shí)間:2019-01-06 10:07:15
老師總結(jié):知識(shí)點(diǎn)都是整合過(guò)的,不實(shí)用的基本被拋卻了,完成的不錯(cuò)呦!繼續(xù)加油!