Оглавление:
Карта сайта:
Оглавление:
Карта сайта:
Пул одиночек (англ. Multiton) похож на паттерн проектирования Одиночка (англ. Singleton), но в отличае отнего позволяет создавать коллекции экземпляров класса и позволяет получать доступ по ключу.
Иногда этот паттерн называют Реестр одиночек.
<?php class DB { protected static $instance = array(); private function __construct($key) { //connect to $key DB } public static function getInstance($key) { if (is_null(self::$instance[$key])) { self::$instance[$key] = new self($key); } return self::$instance[$key]; } public function query($sql) { /* ... */ } private function __clone(){} private function __wakeup(){} } $sql = 'some sql'; $mysql = DB::getInstance('mysql'); $mysql->query($sql); $sqlite = DB::getInstance('sqlite'); $sqlite->query($sql);