Symfony3 Динамическое соединение с классом wrapper_class в контроллере - PullRequest
0 голосов
/ 28 мая 2019

У меня есть центральная база данных лицензий по компаниям, в которой я сохраняю значения соединений в конкретной базе данных по компаниям, мне нужно иметь возможность просматривать центральную базу данных и перенастраивать параметры подключения к динамически указанной базе данных, не имеясоздать в моем config.yml все соединения.

У меня есть код, который позволяет переписать соединение, но я не знаю, как использовать его для изменения соединения.

//config.yml
# Doctrine Configuration
doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                wrapper_class: AppBundle\Doctrine\DynamicConnection
                driver: pdo_mysql
                host: '%database_host%'
                port: '%database_port%'
                dbname: '%database_name%'
                user: '%database_user%'
                password: '%database_password%'
                charset: UTF8


//AppBundle\Doctrine\DynamicConnection.php
namespace AppBundle\Doctrine;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Driver;

class DynamicConnection extends Connection
{
     public function __construct (array $ params, Driver $ driver, $ config, $ eventManager)
     {
         $ params ['dbname'] = 'database_central';
         parent :: __ construct ($ params, $ driver, $ config, $ eventManager);
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...