php : 单例设计演示

单例 : 保证只有一个实例

<?php
/*
 * 单例设计
*/

// 单例: 只能"创造"出它的一个对象实例
class Single{
    // 第一步: 私有化构造方法
    private function __construct(){

    }

    // 第二步: 定义一个私有静态属性, 初始值为 null
    static private $_instance = null;

    // 第三步: 定义一个静态方法, 判断对象是否已生成并返回该对象
    static function GetObject(){
        if(!isset(self::$_instance)){ // 还没设置值
            $obj = new self();
            self::$_instance = $obj;
        }

        // 返回该对象, 保证对象只能指向同一个内存地址
        return self::$_instance;
    }
}

// $obj = new Single(); //  Call to private Single::__construct() 
$obj1 = Single::GetObject();
$obj2 = Single::GetObject();

echo var_dump($obj1); // #1
echo "<br>";
echo var_dump($obj2); // #1
?>

 阅读:

单例模式来设计PHP数据库访问类

http://www.nowamagic.net/librarys/veda/detail/911

----->>>

原文地址:https://www.cnblogs.com/KeenLeung/p/6027993.html