PHP设计模式:单例模式

  

应用场景:

<李>

在一次http请求中,多个地方使用到了数据库连接,使用单例可以只需要创建一个连接。

<李>

一个庞大的类被多次实例化的时候,会浪费巨大的内存空间。使用单例模式可以使多个对象共享内存中存在类的静态空间。


代码示例:

& lt; php ?      ,,,//最后防止类被继承   ,,,final  class  DBHelper {   ,,,,,,,//初始化实例,含义:install 美元;=,new  DBHelper ()……   ,,,,,,,private  static 实例美元=零;   ,,,,,,,   ,,,,,,,//构造器私有,防止类外部实例化   ,,,,,,,private  function  __construct () {   ,,,,,,,,,,,//连接数据库操作   ,,,,,,,}   ,,,,,,,   ,,,,,,,//获取实例   ,,,,,,,public  static  function  getInstance () {   ,,,,,,,,,,,如果(! (self:: $ instance  instanceof 自我)){   ,,,,,,,,,,,,,,,self:: $实例=new 自我;   ,,,,,,,,,,,}   ,,,,,,,,,,,   ,,,,,,,,,,,return 自我::$实例;   ,,,,,,,}   ,,,,,,,   ,,,,,,,//防止实例被克隆   ,,,,,,,private  function  __clone () {   ,,,,,,,}   ,,,,,,,   ,,,},,,,   ,,,,,,,   ,,,,   ?在

验证:

conn1=DBHelper:美元:getInstance ();   美元conn2=DBHelper: getInstance ();      echo  conn1 美元;===,美元conn2;

PHP设计模式:单例模式