이 기사에서는 모든 사람이 PHP 싱글턴 모드를 더 잘 배울 수 있도록 돕기 위해 주로 PHP 디자인 패턴의 싱글턴 모드 데모를 공유합니다.
<?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();?>
관련 추천:
PHP 싱글턴 모드란 무엇인가요? 싱글턴 모드 사용법에 대한 자세한 설명
위 내용은 PHP 싱글톤 모드 데모에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!