批改状态:合格
老师批语:
1.单例模式;
class Conf1
{
}
$conf1 = new Conf1();
$conf2 = new Conf1();
//创建一个实用的配置类:单例模式
class Config
{
/*
*为什么要用静态的: 因为静态属性属于类的,被所有类实例所共享;
* 为什么要给初始值为null? 便于检测
*/
private static $instance = null; //其实默认值就是null
//配置参数容器
public $setting = [];
//禁止从类的外部实例化对象
private function __construct()
{
}
//外部仅允许通过一个公共静态方法来创建实例
public static function getInstance()
{
//检测当前的类属性$instance是否已经保存了当前类的实例?
if(self::$instance ==null){
self::$instance = new self;
}
return self::$instance;
}
//配置项的设置操作
public function set()
{
//获取参数的数量
$num = func_num_args();
if($num > 0){
switch($num){
case 1: //如果只有一个参数,说明这是一个数组
$value = func_get_arg(0);
$this->setting = array_merge($this->setting,$value);
break;
case 2: //如果只有一个参数,说明这是一个数组
$name = func_get_arg(0);
$value = func_get_arg(1);
$this->setting[$name] = $value;
break;
default:
echo '参数不正确';
}
}else{
echo '没有参数';
}
}
//获取参数:当无参数的时候,默认获取全部参数
public function get($name='')
{
if(empty($name)){
//获取所有参数
return $this->setting;
}
//获取某一个参数
return $this->setting[$name];
}
}
$obj1 = Config::getInstance();
$obj2 = Config::getInstance();
var_dump($obj1,$obj2);
var_dump($obj1 === $obj2);
echo '<hr>';
//设置
$obj1->set('host','127.0.0.1');
echo $obj1->get('host');
echo '<hr>';
$config = ['host'=>'127.0.0.1','user'=>'root','pass'=>'1234556'];
$obj1->set($config);
var_dump($obj1->get());2.mvc的实现原理;
//先声明三个类,一会然他们上树
class Demo1{};
class Demo2{};
class Demo3{};
//声明一个对象注册树
class Register
{
public static $objs = [];
//将对象挂到树上
public static function set($index,$obj)
{
self::$objs[$index] = $obj;
}
//取出对象来用一下
public static function get($index)
{
return self::$objs[$index];
}
//销魂对象
public static function del($index)
{
unset(self::$objs[$index]);
}
}
//将三个类的对象上树
Register::set('demo1',new Demo1);
Register::set('demo2',new Demo2);
Register::set('demo3',new Demo3);
//检测
//var_dump(Register::$objs);
//查看
//var_dump(Register::$objs['demo2']);
//Register::del('demo3'); //销毁
var_dump(Register::get('demo3'));3.mvc的设计思想;
model模块;view视图;controller控制器. model将用户请求的操作,反馈给控制器,控制器操作完用户的需求返回给model,model将转换为视图,显示给用户
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号