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

时间:2015-02-01 19:33:41

标签: symfony pdo doctrine

我构建了一些CMS,我可以从管理面板更改参数(parameters.yml)。用户(admin)将能够更改数据库连接(名称,主机等)。但是我需要在那之后处理错误并让他回滚或类似的东西。

我需要什么: - 参数更改后建立与数据库的连接 - 检查是否存在等。

我能做什么: - 制作\ PDO的新实例并尝试/捕获等。

我更喜欢什么: - 某种symfony / doctrine帮助。

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

1 个答案:

答案 0 :(得分:0)

您可以使用Doctrine DBAL Connection工厂。在您的控制器(或服务)中,您可以从容器中获取“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

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

希望有所帮助