摘要:<?php //数据库操作类 class Db { //数据库连接 public function connect() { return '数据库连接成功<br>'; } } //数据验证类 class Validate { //数据验证 public function che
<?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();
//将Db类绑定到容器中
$container->bind('db', function(){
return new Db();
});
//将Validate类实例绑定到容器中
$container->bind('validate', function(){
return new Validate();
});
//将View类实例绑定到容器中
$container->bind('view', function(){
return new View();
});
class User{
public function login(Container $container){
echo $container->make('db')->connect();
//实例化Validate类并调用check()进行数据验证
// $validate = new Validate();
// echo $validate->check();
echo $container->make('validate')->check();
//实例化视图类并调用display()显示运行结果
// $view = new View();
echo $container->make('view')->display();
}
}
$user=new User();
$user->login($container);
?>
批改老师:韦小宝批改时间:2018-11-20 09:05:03
老师总结:嗯!写的很不错哦!但是缺少了重要的总结!下次记得带上哦!