Cet article partage principalement avec vous la démo du mode singleton du modèle de conception PHP, dans l'espoir de vous aider à mieux apprendre le mode PHP singleton.
<?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();?>
Recommandations associées :
Partage d'une utilisation simple du mode PHP singleton
Exemple d'analyse du mode PHP singleton
Qu'est-ce que le modèle singleton php ? Explication détaillée de l'utilisation du mode singleton
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!