Symfony Dynami c подключение к базе данных - PullRequest
0 голосов
/ 25 января 2020

У меня есть следующий сценарий: приложение, в котором у каждого пользователя есть своя собственная база данных и «admin db», используемая для аутентификации пользователей. После успешной аутентификации у этого пользовательского объекта есть поле, которое дает мне параметры его базы данных для подключения и использования его базы данных приложения.

В соответствии с документами Symfony и Doctrine мне следует использовать класс-оболочку следующим образом:

//config/packages/doctrine.yaml
doctrine:
dbal:
    default_connection: default
    connections:
        default:
            # configure these for your database server
            url: '%env(resolve:DATABASE_URL)%'
            driver: 'pdo_mysql'
            server_version: '5.7'
            charset: utf8mb4
            wrapper_class: 'App\Service\DatabaseWrapper'
        userscon:
            # configure these for your database server
            url: '%env(resolve:DATABASE_URL)%'
            driver: 'pdo_mysql'
            server_version: '5.7'
            charset: utf8mb4

И мой класс-оболочка

namespace App\Service;

use Doctrine\Common\EventManager;
use Doctrine\DBAL\Configuration;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Driver;

class DatabaseWrapper extends Connection
{

   public function __construct($params, Driver $driver, ?Configuration $config = null, ?EventManager $eventManager = null)
   {
       parent::__construct($params, $driver, $config, $eventManager);
   }
}

Я использую userscon для аутентификации пользователей, и это работает нормально, проблема в том, как мне пройти аутентификацию в настоящее время пользователь внутри класса оболочки конструктора?

Я уже пытался получить пользователя из службы , но дает мне ноль

Я не уверен, что это лучший подход к выполнить эту задачу, и я открыт для предложений. Спасибо!

...