在 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
在这里您可以捕获可能发生的错误。
希望对您有所帮助
我构建了某种 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
在这里您可以捕获可能发生的错误。
希望对您有所帮助