abstract:<?php //数据库类 class Db { public function connect() { echo '数据库连接成功<br>
<?php //数据库类 class Db { public function connect() { echo '数据库连接成功<br>'; } } //主页 class Display { public function view() { echo '登陆成功,进入主页<br>'; } } //容器 class Container { protected $arr=[]; public function bind($index,Closure $item) { //将new出来的对象放在数组中 $this->arr[$index]=$item; } public function make($index) { //调用函数 return call_user_func_array($this->arr[$index],[]); } } $container=new Container(); $container->bind('db',function (){ return new Db(); }); $container->bind('view',function (){ return new Display(); }); class login { public static $container=null; public static function init(Container $container) { static::$container=$container; } public static function connect() { static::$container->make('db')->connect(); } public static function view() { static::$container->make('view')->view(); } } //初始化 login::init($container); login::connect(); login::view();
Correcting teacher:天蓬老师Correction time:2019-05-25 17:28:43
Teacher's summary:现代php中框架中, 几乎都不约而同的使用了Facade模式, 也叫外观模式, 可以使类中的方法对外提供统一的调用接口