Я пытаюсь построить мультитенантное решение, используя существующую кодовую базу, но с отдельными базами данных, кешем и файлами журналов.
Эффективным способом сделать это было бы динамическое вычисление следующего на основе имени домена входящих запросов:
В Symfony1.x я мог бы сделать это, создав собственный класс фильтра, но я не знаю, как это сделать в Symfony2.
Мой вопрос тогда такой:
Как я могу изменить вышеуказанные параметры для приложения symfon2 — на основе входящего запроса?
Я согласен с Юргисом Греговым.
Вы должны изменить в своей строке 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 для его установки.
Других решений пока нет …