Проблема:
Я не уверен, как настроить многопроцессорное приложение для Symfony, чтобы мы не нарушали лучшие практики Symfony и не работали с каркасом.
Я хотел бы иметь одно основное пространство имен ядер, которое будет содержать все базовые классы моделей. Прямо рядом с ядром я хотел бы настроить клиентские пространства имен, которые будут использоваться, исходя из региональных настроек клиента. Например, LocalUS для рынка США, LocalUK, для рынка Великобритании и т. Д.
Локальные пространства имен должны иметь первостепенное значение для включения шаблонов ветви и в качестве резервного использования использовать общие общие общие представления (как я понимаю, это разрешимо через пространства имен ветвей) , То же самое касается контроллеров и моделей - они, вероятно, разрешимы путем расширения классов имен с именами Core? Разрешено ли это путем маршрутизации и предоставления путей для этих локальных контроллеров?
Я смотрел на github, чтобы увидеть, есть ли какой-либо проект, имеющий аналогичную настройку, но я ничего не мог найти.Symfony: организация бизнес-логики многоклиентского приложения
Немного фона:
У нас есть старое устаревшее приложение PHP, которое было построено внутри дома с нуля, используя простой PHP. По мере того, как приложение со временем увеличилось, стало трудно поддерживать хорошее качество и стандарты кода. Также очень много времени для обучения новых разработчиков нашей логике приложений, поскольку приложение в основном не следует стандартным шаблонам проектирования и просто делает это самостоятельно. Многие из базового кода, который обрабатывает маршруты, контроллеры и т. Д., Похоже, работают как «магия», которую никто не осмеливается затронуть.
Именно поэтому мы хотели бы перенести наше приложение на платформу Symfony3. Я прочитал несколько статей об общем процессе переноса устаревших приложений в symfony и достаточно хорошо сделал это с помощью silex. Silex, однако, немного слишком лёгкий, я обнаружил, что у провайдера сетевых услуг не хватало функциональных возможностей (twig namespacing и т. Д.), И решил, что было бы лучше, если бы мы могли перейти к полной структуре Symfony стека.