与Propel和Symfony2的多个变量连接

Sta*_*tan 6 propel symfony

我正在Symfony2中构建一个应用程序,每个用户都有自己的数据库,这意味着所有用户都拥有自己的数据库凭据集.用户不知道这些凭证,它们存储在应用程序中.

根据登录的用户,应用程序将检索用户特定的凭据并将数据存储在用户特定的数据库中.

我正在使用Propel作为ORM,我知道我可以建立多个连接.但我遇到的所有解决方案都需要事先知道连接细节,但我不知道用户将注册和登录.

所以我的问题是:如何启动正确的数据库连接?

Jor*_*rdi 5

假设您已经连接(如果需要,到虚拟数据库),您可以更改连接参数,执行以下操作

    // Get current configuration
    $config = \Propel::getConfiguration();

    // Change DB configuration
    $config['datasources']['default']['connection']['dsn'] = 'mysql:host=127.0.0.1;port=3306;dbname=dbname;charset=UTF8';
    $config['datasources']['default']['connection']['user'] = 'username';
    $config['datasources']['default']['connection']['password'] = 'password';

    // Apply configuration
    \Propel::setConfiguration($config);
    \Propel::initialize();
Run Code Online (Sandbox Code Playgroud)