это обычно решается с помощью шаблона Singleton или Factory ...
когда вам нужно использовать базу данных, вы забираете объект базы данных приложения:
$db = Site::getDb(); // singleton
$db->exec('update t set i = i + 1');
getDb возвращает статический экземпляр.
или
$db = Db::getDb('dsn'); // factory
$db->exec('update t set i = i + 1');
возвращает статический экземпляр, если он существует, или создает новый дескриптор db для этого dsn ...