摘要:<?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();
批改老师:天蓬老师批改时间:2019-05-25 17:28:43
老师总结:现代php中框架中, 几乎都不约而同的使用了Facade模式, 也叫外观模式, 可以使类中的方法对外提供统一的调用接口