Pues, puedes hacer una clase, con un storage, luego usar el metodo magico de __get para devolver uno de los items del storage y poder darle los eventos, por decir:
Código PHP:
class Bases_de_datos {
private $_storage = array();
public function __construct() {}
public function __get( $bd ) {
if( isset( $this->_storage[$bd] ) ) {
return $this->_storage[$bd];
} else {
throw new Exception( $bd . " no se encontró" );
}
}
public function __set( $bd_name, $bd ) {
if( !isset( $this->_storage[$bd_name] ) && is_object( $bd ) ) {
$this->_storage[$bd_name] = $bd;
} else {
throw new Exception( $bd_name . " ya existente o no es un objeto";
}
}
}
y lo puedes usar asi:
Código PHP:
$bdds = new Bases_de_datos();
$users = new UsersDB();
$bdds->usuarios = $users;
$inventario = new InventarioDB();
$bdds->inventario = $inventario;
y ya luego los puedes rescatar asi:
Código PHP:
$conn = $bdds->usuarios->conectar();
Espero te sirva :)