Как сделать собственный SQL-логин в Symfony 2 и Doctrine 2? - PullRequest
2 голосов
/ 19 октября 2010

Мне нужно добавить журналирование sql для работы в нативном WebProfileBundle.Когда я делаю одно соединение по умолчанию в конфигурации приложения, я вижу запросы sql в своем журнале.Но мое приложение использует много соединений со многими серверами базы данных, поэтому я не могу добавить все возможные соединения в файл конфигурации.

Я создаю соединения во время выполнения, т.е.:

$config = array(
        'user' => 'user1',
        'password' => 'pass1',
        'driver' => 'pdo_mysql',
        'port' => 3306,
);
$conn = DriverManager::getConnection($config);

, тогда я думаю, должно быть команда что-то вроде этого

$conn->getConfiguration()->getSQLLogger($someLoggerObject);

Я пытался решить эту проблему с DependencyInjection, взял DoctrineBundle в качестве примера.Но не повезло.

Любая помощь с живым кодом или ссылка на соответствующую документацию была бы отличной

1 Ответ

1 голос
/ 18 октября 2011

У меня в конфе есть:

$config = new Configuration;
/** configuration stuff */
$config->setSQLLogger(MyLogger::getInstance());

$connectionOptions = array(
            'driver' => 'pdo_mysql',
            'user' => DB_USER,
            'password' => DB_PASS,
            'host' => DB_HOST,
            'dbname' => DB_NAME,
            'charset' => 'utf8',
            'driverOptions' => array(
                    'charset' => 'utf8'
            )
    );
$em = EntityManager::create($connectionOptions, $config);

Я использую Zend + Doctrine2, и это находится в моей начальной загрузке, мой регистратор - одиночный (вот почему getInstance) Я никогда не пользовался DriverManager, но надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...