在 symfony 控制器中检查数据库连接

check database connect in symfony controller

我构建了某种 CMS,我可以在管理面板中更改参数 (parameters.yml)。用户(管理员)将能够更改数据库连接(名称、主机等)。但是之后我需要处理错误,让他回滚什么的。

我需要的: - 参数更改后连接到数据库 - 检查是否存在等..

我能做的: - 创建 \PDO 的新实例并尝试/捕获等

我喜欢的: - 某种 symfony/doctrine 帮助。

有什么东西可以代替新的 PDO 吗?或者我的想法是错误的? :)

您可以为此使用 Doctrine DBAL 连接工厂。在您的控制器(或服务)中,您可以从容器中获取 "doctrine.dbal.connection_factory" 服务并使用新参数创建新连接:

https://github.com/doctrine/DoctrineBundle/blob/master/ConnectionFactory.php#L51

然后尝试连接它:

https://github.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Connection.php#L350

在这里您可以捕获可能发生的错误。

希望对您有所帮助