PHP设计模式(2)单例模式
某些应用程序资源是独占的,因为有且只有一个此类型的资源。例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序*享数据库句柄,因为在保持连接打开或关闭时,它是一种开销,在获取单个页面的过程中更是如此。
单例模式可以满足此要求。<?php class Mysql{ //定义一个私有的静态变量,用来存放对象实例 private static $instance = null; private $conn; //设置构造方法为私有,不允许通过new获得对象 private function __construct(){ $conn = mysql_connect('localhost','root','123456'); } //获取实例方法 public static function getInstance(){ if(! self::$instance instanceof self){ self::$instance = new self; } return self::$instance; } //禁止克隆 private function __clone(){} } $db = Mysql::getInstance();
这样每个数据库连接,都是用的一个对象实例。