Более одного приложения в репозитории проекта с Symfony 4Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Более одного приложения в репозитории проекта с Symfony 4

Сообщение Anonymous »

У меня есть три старых приложения (работающих на Symfony 2), каждое из которых было разработано в отдельных репозиториях git и настроено на соответствующих виртуальных хостах:
Несмотря на то, что они используют одну и ту же базу данных. Поэтому мы решили (Компания) объединить их все в одном приложении со структурой и подходом Symfony 4, главным образом, чтобы удалить большое количество дублированных данных и улучшить их обслуживание.

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

    company.com
    Загружает пакеты, маршруты и конфигурации только для веб-сайта компании (

    Код: Выделить всё

    SwiftmailerBundle, ...)
    [*]admin.company.com
    Загружает пакеты, маршруты и конфигурацию только для администрирования сайта (

    Код: Выделить всё

    SecurityBundle
    , SonataAdminBundlesetHost($request->server->get('HTTP_HOST'));

    $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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»