<?php /** * PHP的单例模式:让类的一个对象成为系统中的唯一实例,避免大量的 new 操作消耗的资源。典型应用:数据库连接 * PHP的单例模式实现要求: * 1、一个private的__construct是必须的,单例类不能在其它类中实例化,只能被自身实例化; * 2、拥有一个保存类的实例的静态成员变量; * 3、一个静态的公共方法用于实例化这个类,并访问这个类的实例; */ class Demo { private static $ins; //保存对象的静态属性 private function __construct() { echo "私有化构造方法<br>"; } //禁止克隆 private function __clone() { } public static function getInstance() { if (!(self::$ins instanceof self)) { echo "实例化<br>"; self::$ins = new self; } return self::$ins; } //类的其它方法 public function test() { echo "测试方法<br>"; } } //多次调用类的实例 Demo::getInstance()->test(); Demo::getInstance()->test(); //输出结果 /* 实例化 这是构造方法 测试方法 测试方法 */ //通过结果,可以看到Demo类只实例化了一次。