facade门面模式
概念:又叫外观模式,为子系统中的接口或方法提供一个统一的界面,供外部访问,门面模式定义了一个高层接口,使得子系统更加容易使用,引入门面之后,用户只需与门面角色交互,不用管子系统内的复杂关系,从而降低了耦合度
例:laravel中的路由:Route::get();route类中根本查不到get方法,其实就是使用了门面模式
有一个DB类,外加一个DBFacade类,只需调用门面类就可实现与数据库的交互
__callStatic()方法,当访问不存在的静态方法时会调用此方法,DBFacade::write()
call_user_func_array( [new DB() , $method] , $arg );