/** * 单例模式 只产生一个实例化对象 */class human{// 定义静态属性 保存生产的对象private static $object = NULL;// 构造方法私有化 禁止外部实例化对象private function __construct(){echo __METHOD__ . "<br>";}/** * 定义一个静态方法 通过类内部返回实例化对象 * @return object */public static function get_instance(){// 判断保存的object静态属性对象是否是当前对象if(!(self::$object instanceof self)){// 如果不是 就实例化当前对象并保存到object静态属性self::$object = new self();}// 返回对象return self::$object;}}// 通过静态成员方法访问$h1 = human::get_instance();$h2 = human::get_instance();$h3 = human::get_instance();var_dump($h1,$h2,$h3);
以上返回结果
human::__constructobject(human)#1 (0) { } object(human)#1 (0) { } object(human)#1 (0) { }