1、定义:
单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。
2、特点:
3、应用场景
4、PHP 单例模式的实现:
单例模式是设计模式中最简单的模式之一。通常,普通类的构造函数是公有的,外部类可以通过“new 构造函数()”来生成多个实例。
但是,如果将类的构造函数设为私有的,外部类就无法调用该构造函数,也就无法生成多个实例。这时该类自身必须定义一个静态私有实例,并向外提供一个静态的公有函数用于创建或获取该静态私有实例。
简单记作:三私一公:
代码:
<?php class Single{ //私有的静态属性 private static $_instance=null; //私有的构造方法 private function __construct(){ echo ‘Single Mode‘; } //私有的克隆方法 private function __clone(){} //公有的静态方法 //实例化前先判断该类是否已被实例化了,若已被实例化,就返回该实例化对象;若没被实例化,便实例化一个对象并将该对象保存在类的静态属性中 public static function getInstance(){ if(self::$_instance===null){ self::$_instance = new self(); } return self::$_instance; } } $test = Single::getInstance(); var_dump($test); ?>
原文:https://www.cnblogs.com/pawn-i/p/12559559.html