单例模式有以下的特点:
- 单例类只能有一个实例。
- 单例类必须自己创建自己的唯一的实例。
- 单例类必须给所有其他对象提供这一实例。
代码:
Singleton.php:
<?php
class Singleton
{
private static $instance;
private function __construct()
{
}
public static function getInstance()
{
if(self::$instance == null)
{
self::$instance = new Singleton();
}
return self::$instance;
}
}
?>
在使用的时候,因为构造方法是private(私有)的,所以是不能直接实例化的,必须使用类似下面的方法:
例子:
<?php
require_once('Singleton.php');
$instance = Singleton::getInstance();
?>