博客列表 >单例模式,MVC——2018年9月14日14点39分

单例模式,MVC——2018年9月14日14点39分

Nevermore的博客
Nevermore的博客原创
2018年09月14日 14:39:44625浏览

实例

<?php
//单例模式
class Demo1
{
    private $pdo;
    public $db=[];

    private function __construct()
    {
       $this->connect();
    }
    public function connect()
    {


    }
    private function __clone()
    {

    }
    public static function getInstance()
    {

      return new self();
    }
    public function set()
    {
        if(func_num_args()>0)
        {
            switch (func_num_args())
            {
                case '1':
                $value=func_get_arg(0);
                    $this->db=array_merge($this->db,$value);
                    break;
                case '2':
                    $this->db[func_get_arg(0)] = func_get_arg(1);
                    break;
                default:
                    echo '非法参数';
            }

        }
    }
    public  function  get($name='')
    {
        if ($name=='')
        {
            return $this->db;
        }
        else return $this->db[$name];
    }

}
$obj=Demo1::getInstance();
$obj->set('host','127.0.0.1');
//echo $obj->get('host');
$obj->set(['host'=>'localhost','dbname'=>'php','user'=>'root']);
print_r ($obj->get());

运行实例 »

点击 "运行实例" 按钮查看在线实例

 单例模式: 一个类仅允许被实例化一次
 1. 一个站点仅需要创建一个数据库连接
 2. 一个站点通常只需要一个配置类
MVC模式就是将PHP代码与HTML代码分开 分别放到2个类,PHP代码放到model 类,就是M,HTML代码放到view 类,就是V,C是指控制器,将两者连接,通常创建第三个类,Control 来将PHP 的类 和HTML 的类连接。

QQ图片20180914143454.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议