class Connection
{
private $link;
private $options;
public function __construct($options) { // для примера. Вы можете сюда определение конструктора PDO пихнуть или производить потом конвертацию из своего формата что желательнее
}
public function execute($query) {
if (!$this->link) {
$this->connect();
}
// выполняем запрос
}
public function connect() {
$this->link = new PDO(...);
}
}
И вы смотрели все же в сторону более активного использования ресолвов (которые можно использовать как сервисы) и ui-router?