在 Symfony 2.0 中,我需要为特定用户更改数据库,直到他注销,但代码是相同的。
那可能吗?
查看Symfony2,Dynamic DB Connection/Early override of Doctrine Service
它与另一个略有重复,但特定于使用请求参数,并且答案在它的服务接线中提供了更多详细信息。不确定它是否对其他答案有帮助,但无论如何都要检查一下。
这是可能的,但不应该按照您描述的方式进行。
您将始终需要不会改变的连接:将处理身份验证的数据库。
然后对于每个用户,您可能有一个特定的数据库。登录后,您应该拥有连接到用户数据库所需的帐户详细信息(数据库详细信息)。
拥有它后,请使用中描述的方法之一
它应该很简单。
PS:除了永久连接,您还可以让用户在 SSO(单点登录)环境中由另一台服务器进行身份验证 - 这是高级主题。然后,用户数据库的连接详细信息应该来自该服务器。