php设计模式 -- 单例模式

单例模式又称为职责模式,它用来在程序中创建一个单一功能的访问点,通俗地说就是实例化出来的对象是唯一的。
所有的单例模式至少拥有以下三种公共元素:

1. 它们必须拥有一个构造函数,并且必须被标记为private
2. 它们拥有一个保存类的实例的静态成员变量
3. 它们拥有一个访问这个实例的公共的静态方法

三私一公

公有化静态方法作为提供对象的接口,

私有属性用于存放唯一一个单例对象。

私有化构造方法,

私有化克隆方法保证只存在一个单例。

代码示例

<?php
class Singleton{
        //存放实例
        private static $_instance = null;

        //私有化构造方法、
        private function __construct(){
            echo "单例模式的实例被构造了";
        }
        //私有化克隆方法
        private function __clone(){

        }

        //公有化获取实例方法
        public static function getInstance(){
            if (!(self::$_instance instanceof Singleton)){
                self::$_instance = new Singleton();
            }
            return self::$_instance;
        }
    }

    $singleton=Singleton::getInstance(); 
?> 

 

posted @ 2018-12-13 10:14  飞翔的贺兰猪  阅读(98)  评论(0编辑  收藏  举报