2016-05-13 2 views
1

Проблема:
Я не уверен, как настроить многопроцессорное приложение для Symfony, чтобы мы не нарушали лучшие практики Symfony и не работали с каркасом.
Я хотел бы иметь одно основное пространство имен ядер, которое будет содержать все базовые классы моделей. Прямо рядом с ядром я хотел бы настроить клиентские пространства имен, которые будут использоваться, исходя из региональных настроек клиента. Например, LocalUS для рынка США, LocalUK, для рынка Великобритании и т. Д.
Локальные пространства имен должны иметь первостепенное значение для включения шаблонов ветви и в качестве резервного использования использовать общие общие общие представления (как я понимаю, это разрешимо через пространства имен ветвей) , То же самое касается контроллеров и моделей - они, вероятно, разрешимы путем расширения классов имен с именами Core? Разрешено ли это путем маршрутизации и предоставления путей для этих локальных контроллеров?
Я смотрел на github, чтобы увидеть, есть ли какой-либо проект, имеющий аналогичную настройку, но я ничего не мог найти.Symfony: организация бизнес-логики многоклиентского приложения

Немного фона:
У нас есть старое устаревшее приложение PHP, которое было построено внутри дома с нуля, используя простой PHP. По мере того, как приложение со временем увеличилось, стало трудно поддерживать хорошее качество и стандарты кода. Также очень много времени для обучения новых разработчиков нашей логике приложений, поскольку приложение в основном не следует стандартным шаблонам проектирования и просто делает это самостоятельно. Многие из базового кода, который обрабатывает маршруты, контроллеры и т. Д., Похоже, работают как «магия», которую никто не осмеливается затронуть.

Именно поэтому мы хотели бы перенести наше приложение на платформу Symfony3. Я прочитал несколько статей об общем процессе переноса устаревших приложений в symfony и достаточно хорошо сделал это с помощью silex. Silex, однако, немного слишком лёгкий, я обнаружил, что у провайдера сетевых услуг не хватало функциональных возможностей (twig namespacing и т. Д.), И решил, что было бы лучше, если бы мы могли перейти к полной структуре Symfony стека.

ответ

1

Посмотрите на Symfony bundles - они делают именно то, что вам нужно. Вы создаете «базовый» комплект, чем расширяете его другими пучками. Вот как работает FOSUserBundle - он предоставляет все, что вам нужно, чем вы его расширяете и перезаписываете.

Смежные вопросы