什么是设计模式:设计模式是指设计某个程序的方式。
今天我们简析一下单例模式
单例模式:一个类只能最多创建出一个对象
实现单例必须满足以下条件:
1.不让克隆(私有化克隆魔术方法)
2。不让创建对象(私有化构造方法),不能在类外部使用new关键字创建对象。
3。进入类的内部创建对象(使用静态方法)
4.在类中使用静态属性来保存创建的对象,来判断下次还能不能创建新对象。代码实现
<?php
//单例模式:一个类只能创建一个对象 class Single { //属性 private $name; public static $counts=0; //定义一个静态属性来保存对象 private static $single; //私有化构造方法 private function __construct(){ $this->name=$name; //计数 self::$counts++; } //私有化克隆魔术方法 private function __clone() { //计数 self::$counts++; } //静态方法,让类进入到类的内部进行实例化得到对象 public static function getInstance($name) { //判断对象是否存在,如果存在则直接返回,否则创建 if(self::$single) { //判断对象是否存在,如果存在则直接返回原来的对象,否则创建 }else{ //创造一个对象 self::$single=new Single($name); //返回对象 return self::$single; } } } //得到对象 $single=Single::getInstance('wangjing');