- Веб-сайт компании.
Код: Выделить всё
company.com - Администрирование сайта.
Код: Выделить всё
admin.company.com - Служба API компании.
Код: Выделить всё
api.company.com
Сейчас я интегрирую все в одно приложение/репозиторий, как и планировалось, но начинаю решать некоторые проблемы с производительностью и структурой:
- Поскольку у меня только одна точка входа index.php Я сделал два префикса маршрутов, чтобы иметь доступ к субприложению Company.com/admin/ и Company.com/api/, поэтому все маршруты загружаются каждый раз:(
- Все пакеты и конфигурация загружаются и обрабатываются без необходимости для каждого запроса. Например: когда я получаю доступ к пути API, загружается SonataAdminBundle тоже

- Команда очистки кэша занимает много времени.
- Тесты не работают, и теперь их выполнение тоже занимает много времени.
- Загружает пакеты, маршруты и конфигурации только для веб-сайта компании (
Код: Выделить всё
company.comЗагружает пакеты, маршруты и конфигурацию только для администрирования сайта (Код: Выделить всё
SwiftmailerBundle, ...) [*]admin.company.com, SonataAdminBundlesetHost($request->server->get('HTTP_HOST'));Код: Выделить всё
SecurityBundle
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
[/code]
Я проверил текущий префикс хоста в методе Kernel::registerBundles() и загрузил только необходимые пакеты, но все равно у меня проблемы с файлом bin/console (он не работает, поскольку переменная HTTP_HOST не определена для CLI). Я хотел бы очистить кеш для каждого «подприложения» и так далее.
Я провел некоторое исследование по этой теме, но до сих пор не нашел ничего полезного для моего сценария (Symfony 4).
Можно ли в одном репозитории проекта работать независимо (например, отдельные приложения), но совместно использовать некоторую конфигурацию? Как лучше всего этого добиться?
Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/459 ... -symfony-4