abstract:<?php //数据库操作类 class Db { //数据库连接 public function connect() { return '数据库连接成功<br
<?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(); $container->bind('validate',function(){ return new Vlidate(); }) $container->bind('view', function(){ return new View(); }); class User { public funtion login(Container $containner) { echo $container->make('db')->connect(); echo $container->make('validate')->connect(); echo $container->make('view')->connect(); } }
依赖可以解耦;
Correcting teacher:天蓬老师Correction time:2019-05-25 17:22:04
Teacher's summary:能自己想一个, 与教学案例类似的案例吗?