PHP设计模式之一,单例模式,顾名思义就是只有一个实例。单例模式确保某一个类只有一个实例,不能重复实例,只能它自己实例化,而且向整个系统提供这个实例。
PHP单例模式的应用:
PHP使用单例模式的场景主要在于
数据库应用
, 在项目开发中会大量的使用数据库操作, 在使用面向对象方式开发过程中, 使用单例模式, 可以避免大量的new 操作,减少资源的消耗。
单例模式因为它的设计是一个私有属性,一个私有构造方法,一个私有克隆方法,一个公共方法,所以也叫三私一公。
代码如下:
class DB
{
private static $instance = null; //私有静态属性,存放该类的实例
private function __construct() //私有构造方法,防止在类的外部实例化
{
# code...
}
private function __clone() //私有克隆方法,防止克隆
{
# code
}
public static function getInstance() //公共的静态方法,实例化该类本身,只实例化一次
{
if (!self::$instance instanceof self) {
self::$instance = new self;
}
return self::$instance;
}
}