06月17, 2016

PHP设计模式——单例

什么是单例

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

单例的使用

如果一个类在运行过程中会被反复实例化,并且每次实例化的参数和状态都是一样的,那么我们就可以设置成单例模式,以节约内存开销。PHP中,ORM框架通常都是用单例实例化的。

PHP实现单例

单例的实现非常简单

class singleton {

    private static $_instance = null;

    protected function __construct()  
    {
        //构造方法设置成protected或private,防止类从外部被实例化
    }
    //设置成静态方法,不用实例化类就可以调用
    public static function getInstance()
    {
        if (is_null ( self::$_instance ) || isset ( self::$_instance )) {
            self::$_instance = new self ();
        }
        return self::$_instance;
    }
}

本文链接:http://www.qiana.info/post/singleton.html

-- EOF --

Comments