当应用程序有一个类,而系统只需要一个类的实例,并且该实例在整个程序中都是可访问的,并且当系统只需要一个类的实例,但对象(实例)被系统的不同应用程序使用时,则可以使用单例模式。或者换句话说,如果您想用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