批改状态:合格
老师批语:是的, 就是不断的抽象过程,将用户不需要关注的代码放到更高一级上
<?php//facades门面技术require 'model.php';require 'view.php';//1,服务容器class container{protected $instances = [];public function bind($alias,\Closure $process){$this->instances[$alias] = $process;}public function make($alias,$params=[]){return call_user_func_array($this->instances[$alias],[]);}}$container=new container;$container->bind('Model',function(){return new Model;});$container->bind('View',function(){return new View;});//2,facades门面技术class facades{protected static $container=null;protected static $data=[];// 初始化方法: 从外部接收一个依赖对象: 服务容器的实例public static function initialize(container $container){static::$container = $container;}}class M extends facades{public static function getData(){static::$data= static::$container->make('Model')->getData();}}class V extends facades{public static function fetch(){return static::$data = static::$container->make('View')->fetch(static::$data);}}//3,控制器class controller{public function __construct(container $container){facades::initialize($container);}public function index(){M::getData();return V::fetch();}}$controller=new controller($container);echo $controller->index();
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号