Symfony2: настройка подключения к базе данных, кеша и папок журнала на основе входящего запроса

Я пытаюсь построить мультитенантное решение, используя существующую кодовую базу, но с отдельными базами данных, кешем и файлами журналов.

Эффективным способом сделать это было бы динамическое вычисление следующего на основе имени домена входящих запросов:

  • параметры подключения к базе данных
  • папка кеша
  • папка журнала

В Symfony1.x я мог бы сделать это, создав собственный класс фильтра, но я не знаю, как это сделать в Symfony2.

Мой вопрос тогда такой:

Как я могу изменить вышеуказанные параметры для приложения symfon2 — на основе входящего запроса?

0

Решение

Я согласен с Юргисом Греговым.

Вы должны изменить в своей строке web / app.php:

$kernel = new AppKernel('prod', false);

чтобы:

$kernel = new AppKernel($_SERVER['HTTP_HOST'], false);

Первый аргумент AppKernel — это среда название

После этого вы можете создать в app / config новые файлы конфигурации с именем:
config_название.YML

Где вы можете установить конфигурацию доктрины.

Ваш кеш будет в папке: app / cache /название

И ваши журналы будут в: приложение / журналы /название.log (Вы также можете указать путь для входа в конфигурационный файл yml)

Я не знаю, есть ли другой способ изменить параметры доктрины, но я знаю, что вы также можете изменить журналы и папку кэша с помощью методов переопределения:
getLogDir () и getCacheDir () в вашем app / AppKernel.php, где вы можете использовать REQUEST для его установки.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]