将很多类实例化成对象,放到一个数组里面,根据你的需求然后取出来用。方便管理。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
class Registry { protected static $store = array(); private static $instance; public static function getInstance() { if(!isset(self::$instance)) { self::$instance = new self; } return self::$instance; } public function isValid($key) { return array_key_exists($key, Registry::$store); } public function get($key) { if($this->isValid($key)) return Registry::$store[$key]; } public function set($key, $obj) { Registry::$store[$key] = $obj; } } class ConnectDB { private $host; private $username; private $password; private $conn; public function __construct($host, $username, $password){ $this->host = $host; $this->username = $username; $this->password = $password; } public function getConnect() { return mysql_connect($this->host,$this->username,$this->password); } } echo '<br/>'; //使用测试 $reg = Registry::getInstance(); $reg->set('db1', new ConnectDB('localhost', 'root', 'mckee')); $reg->set('db2', new ConnectDB('192.168.1.198', 'test', '0K5Dt@2jdc8#x@')); print_r($reg->get('db1')); print_r($reg->get('db2'));