某些应用程序资源是独占的,因为有且只有一个此类型的资源。例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销,在获取单个页面的过程中更是如此。

单例模式可以满足此要求。


<?phpclass 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();


这样每个数据库连接,都是用的一个对象实例。