当应用程序有一个类,而系统只需要一个类的实例,并且该实例在整个程序中都是可访问的,并且当系统只需要一个类的实例,但对象(实例)被系统的不同应用程序使用时,则可以使用单例模式。或者换句话说,如果您想用PHP构建一个应用程序,并且该应用程序实现了一个只有一个实例的类,并且该实例在全局级别是可访问的,那么您必须使用应用程序的单例模式。
单例模式用于“确保类只有一个实例,并提供一个全局点来检索它”。
在PHP中创建单例模式的示例
<?php
class SingletonExample
{
//私有变量,用于保存单个实例
private static $instance;
//构造函数设置为私有,防止直接创建对象
private function __construct()
{
echo '构造函数'."</br>";
}
//单例方法
public static function singleton()
{
if (is_null(self::$instance)) {
$c = __CLASS__;
self::$instance = new $c;
//或者 self::$instance = new SingletonExample();
}
return self::$instance;
}
//示例方法
public function GetMe()
{
echo 'PHP单例模式';
}
}
}
$obj1=SingletonExample::singleton();
$obj1->GetMe();
?>
日期:2020-04-18 01:09:17 来源:oir作者:oir
