In diesem Artikel wird hauptsächlich die Singleton-Modus-Demo des PHP-Designmusters vorgestellt, in der Hoffnung, Ihnen dabei zu helfen, den PHP-Singleton-Modus besser zu erlernen.
<?php/** * 设计模式之单例模式 * $_instance必须声明为静态的私有变量 * 构造函数和析构函数必须声明为私有,防止外部程序new * 类从而失去单例模式的意义 * getInstance()方法必须设置为公有的,必须调用此方法 * 以返回实例的一个引用 * ::操作符只能访问静态变量和静态函数 * new对象都会消耗内存 * 使用场景:最常用的地方是数据库连接。 * 使用单例模式生成一个对象后, * 该对象可以被其它众多对象所使用。 */class Example{//保存例实例在此属性中 private static $_instance;//构造函数声明为private,防止直接创建对象 public function __construct() { //初始的方法 }//单例方法 public static function getInstance() { if(!isset(self::$_instance)) { $c=__CLASS__; self::$_instance=new $c; } return self::$_instance; } function test() { echo("test"); } }// 这个写法会出错,因为构造方法被声明为private//$test = new Example;// 下面将得到Example类的单例对象$test = Example::getInstance();$test->test();?>
<?php/** * 设计模式之单例模式 * $_instance必须声明为静态的私有变量 * 构造函数和析构函数必须声明为私有,防止外部程序new * 类从而失去单例模式的意义 * getInstance()方法必须设置为公有的,必须调用此方法 * 以返回实例的一个引用 * ::操作符只能访问静态变量和静态函数 * new对象都会消耗内存 * 使用场景:最常用的地方是数据库连接。 * 使用单例模式生成一个对象后, * 该对象可以被其它众多对象所使用。 */class Example{//保存例实例在此属性中 private static $_instance;//构造函数声明为private,防止直接创建对象 public function __construct() { //初始的方法 }//单例方法 public static function getInstance() { if(!isset(self::$_instance)) { $c=__CLASS__; self::$_instance=new $c; } return self::$_instance; } function test() { echo("test"); } }// 这个写法会出错,因为构造方法被声明为private//$test = new Example;// 下面将得到Example类的单例对象$test = Example::getInstance();$test->test();?>
Verwandte Empfehlungen:
Teilen der einfachen Verwendung des PHP-Singleton-Modus
Beispielanalyse für den PHP-Singleton-Modus
Was ist ein PHP-Singleton-Muster? Detaillierte Erläuterung der Verwendung des Singleton-Modus
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der PHP-Singleton-Modus-Demo. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!