摘要://这里是容器模块 <?php class Db { public function connect() { return '数据库连接成功<br>'; } } class Validate { public function check() { return
//这里是容器模块
<?php
class Db
{
	public function connect()
	{
		return '数据库连接成功<br>';
	}
}
class Validate
{
	public function check()
	{
		return '数据验证通过<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;
});下面是外观调用
<?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();按照老师提供的案例自己通过思路做了一遍,感觉一下思想开阔了很多,对于框架的一些调用方法有了一些想法,很实用的案例。
						批改老师:灭绝师太批改时间:2019-01-06 10:07:15		
						
老师总结:知识点都是整合过的,不实用的基本被抛却了,完成的不错呦!继续加油!					
 
                 
 
 
  
            