php db class с mysqli, которые поддерживают несколько соединений

Дело в том, что мне нужно написать класс db с mysqli, и он должен поддерживать несколько подключений к различным базам данных. Я знаю, что несколько соединений плохие, но у меня нет другого выбора.

Если есть хороший пример класса, который поддерживает несколько соединений?

Знаете ли вы какие-либо советы, которые я должен принять во внимание, когда начну писать класс? Какова наилучшая практика в моем случае?

Заранее спасибо,

Первое, что приходит на ум, – это контейнерный класс, в котором хранится объект MySQLi. Что-то вроде этого:

 class MySQLiContainer extends SplObjectStorage{ public function newConnection($host = null, $username = null, $passwd = null, $dbname = null, $port = null, $socket = null) { $mysqli = new mysqli($host, $username, $passwd, $dbname, $port, $socket); $this->attach($mysqli); return $mysqli; } } //usage $mysqliContainer = new MySQLiContainer(); $c1 = $mysqliContainer->newConnection('localhost','root','root','localDatabase'); $c1->query('SELECT ....'); $c2 = $mysqliContainer->newConnection('mysql.remotehost.net','hackermom','bobbytables','schoolDatabase'); $name = 'Robert\'); DROP TABLE students;--'; $c2->multi_query("SELECT * FROM students WHERE name = '$name'"); 

Не зная больше о требуемой функциональности, трудно сказать, хотя это хорошая идея;)

Дополнительная информация о классе SplObjectStorage .