单例模式:当你实例化一个对象的时候,它可以确保你实例化的这个类将仅有一个实例,并且我们在代码的任何地方都可以轻易召回相同的对象。当你使用单例模式第一次调用对象时,它就会被实例化,之后每一次调用都将返回同一个对象。单例模式通常用于对象,它代表在应用程序被再三使用的资源,而且始终为同一个对象。其中常见的示例包括数据库连接和配置信息
单例最重要的方面在于对创建实例的限制能力,如果不这样做,潜在的多个实例将被创建,因而造成严重破坏。这种限制能力通过创建私有的构造器来实现,并拥有一个也可以创建新实例的静态函数。
<?php
class Database extends PDO {
private static $_instance = null;
// 私有化构造函数,防止外界实例化对象
private function __construct() {
// 调用PDO的构造函数
parent::__construct(APP_DB_DSN, APP_DB_USER, APP_DB_PASSWORD);
}
public static function getInstance() {
if (! (self::$_instance instanceof Database )) {
self::$_instance = new Database();
}
return self::$_instance;
}
}
?>