模拟用户登陆验证的案例

Original 2019-04-21 22:20:21 242
abstract:
instance[$abstract] = $course; // 类似于: /*$this->instance['db'] = function (){ return new Db(); }*/ } // 实现方法 public function make($abstract,$params = []) { // 查询类中的方法 return call_user_func_array($this->instance[$abstract],$params); } } // 注册容器 $container = new Container(); // 添加Db类到容器中 $container->bind('db',function(){ return new Db(); }); // 添加验证类到容器中 $container->bind('validate',function(){ return new Validate(); }); // 添加视图类到容器中 $container->bind('view',function(){ return new View(); }); /*print_r($container->instance); echo $container->make('db')->connect();*/ // 使用Facade 依赖注入 统一入口 class Facade { // 定义静态属性,存放存放容器类 protected static $instance = null; // 创建方法传入Container类 public static function Container(Container $container) { return static::$instance = $container; } // 数据库连接方法 public static function connect() { return static::$instance->make('db')->connect(); } // 验证类 public static function validate() { return static::$instance->make('validate')->check(); } // 视图类 public static function view() { return static::$instance->make('view')->display(); } } // 使用Facade 实现Db,Validate,View,流程 // 将容器绑定到外观模式中 Facade::Container($container); echo '

使用Facade统一入口模式实现工具类中的三个方法

'; echo Facade::connect(),'
'; echo Facade::validate(),'
'; echo Facade::view(),'
';


Correcting teacher:西门大官人Correction time:2019-04-22 10:55:13
Teacher's summary:代码最好自己写出来。不要拷贝老师的课件源码。

Release Notes

Popular Entries