PHP7经典单例模式封装

Post Time:2019-11-03 23:59:15 Views:374

单例模式

单例模式(Singleton Pattern)是 程序设计中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

注意:

1、单例类只能有一个实例。

2、单例类必须自己创建自己的唯一实例。

3、单例类必须给所有其他对象提供这一实例。


<?php
trait Singletons{

    private static $instance;
    public static  function getInstance(){
        if(!isset(self::$instance)){
            self::$instance = new static();//这里不能new self(),self和static区别
        }
        return self::$instance;
    }

}

class BaseSingle{
    //trait用法
    use Singletons;
    private $redis;

    public function __construct()
    {
        //封装redis实例作为测试
        $this->redis = new \Redis();
        $this->redis->pconnect("127.0.0.1",6379);
    }

    /**
     * 内部访问方法
     */
    public function get(){
        echo $this->redis;
        echo "111";
    }

}
//调用测试
BaseSingle::getInstance()->get();

Comments: 7
Time: 2019-11-14 20:19:46
牛逼
Time: 2019-12-02 16:09:46
@小俊 过来看看新模板
Time: 2019-12-03 12:13:31
来了来了,围观新模板
Time: 2019-12-06 16:23:20
非技术的路过。
Time: 2019-12-10 17:53:32
可以 RSS 输出文章吗?
Time: 2019-12-10 18:20:29
@790x 本来是有的,后面换了后端程序还没加上去有空再加一个
Time: 2019-12-14 20:29:51
大写的牛

「人生在世,留句话给我吧」

撰写评论