abstract:<?php //数据库操作类 class Db { //数据库连接 public function connect() { return '数据库连接成功<br>'; } } //数据验证类 class Validate { //数据验证 public function che
<?php //数据库操作类 class Db { //数据库连接 public function connect() { return '数据库连接成功<br>'; } } //数据验证类 class Validate { //数据验证 public function check() { return '数据验证成功<br>'; } } //视图图 class View { //内容输出 public function display() { return '用户登录成功'; } } //创建容器类 class Container{ //创建一个属性,用于放类与类的实例化方法 protected $instance=[]; //初始化实例数组,将需要实例化的类,与实例化的方法进行绑定 public function bind($abstract,Closure $process){ $this->instance[$abstract]=$process; } //创建类的实例 public function make($abstract,$params=[]){ return call_user_func_array($this->instance[$abstract],[]); } } $container=new Container(); //将Db类绑定到容器中 $container->bind('db', function(){ return new Db(); }); //将Validate类实例绑定到容器中 $container->bind('validate', function(){ return new Validate(); }); //将View类实例绑定到容器中 $container->bind('view', function(){ return new View(); }); class User{ public function login(Container $container){ echo $container->make('db')->connect(); //实例化Validate类并调用check()进行数据验证 // $validate = new Validate(); // echo $validate->check(); echo $container->make('validate')->check(); //实例化视图类并调用display()显示运行结果 // $view = new View(); echo $container->make('view')->display(); } } $user=new User(); $user->login($container); ?>
Correcting teacher:韦小宝Correction time:2018-11-20 09:05:03
Teacher's summary:嗯!写的很不错哦!但是缺少了重要的总结!下次记得带上哦!