модуль управления Symfony - PullRequest
       7

модуль управления Symfony

2 голосов
/ 08 февраля 2010

В моем приложении слишком много модулей. В настоящее время мои модули имеют пространство имен, но я хотел бы иметь структуру каталогов, чтобы избавиться от этого избыточного и раздражающего пространства имен.

Например, для модулей с именами «xModule1, xModule2, xModule3» я хотел бы иметь структуру каталогов, подобную этой:

-x
  -module1
    -actions and templates
  -module2
    -actions and templates
  -module3
    - actions and templates

Конечно, разработчики в Symfony знают, что люди хотели бы использовать их среду для разработки больших приложений. Так как же организована такая модульная организация?

Я проделал большую работу в Java / Spring, и поскольку исходный код сканируется компонентами, вы можете упорядочить свои контроллеры и файлы jsp в хорошо организованных иерархиях. Возможно ли это как-то с Symfony?

Ответы [ 3 ]

2 голосов
/ 08 февраля 2010

Нет, это невозможно с Symfony. Структура ваших модулей, их действий и шаблонов ожидается в фиксированной структуре файловой системы, и я ничего не слышал об этом изменении.

Я столкнулся с той же проблемой, с которой вы столкнулись, когда очень большой сайт имел более 30 модулей в одном приложении. Сначала это казалось громоздким, но, поработав некоторое время с этим, я обнаружил, что единственное место для поиска конкретного модуля на самом деле было выгоднее, чем искать в подструктурах, пока я не получил то, что мне нужно. Наблюдение за тем, как структура растет и растет, заставляет меня уважать добавление новых модулей только тогда, когда это абсолютно необходимо, добавление новых функций в существующие модули и рефакторинг существующих модулей для работы с новыми улучшениями, когда это возможно.

Symfony имеет функции автозагрузки, которые будут работать для папок вашей библиотеки, что позволяет вам иметь lib / one / two / three / Object.class.php или любую другую структуру, которую вы считаете подходящей.

0 голосов
/ 09 февраля 2010

Я задавался вопросом об одном и том же, тем более, что многие файлы конфигурации необходимо устанавливать либо на уровне приложения, либо на уровне отдельного модуля. Может быть полезно иметь возможность каскадного конфигурирования для набора модулей.

Как уже упоминалось выше, кажется, что доступны следующие решения:

  • разберитесь с большим количеством модулей
  • создавать отдельные приложения (что создаст громоздкое дублирование)
  • рефакторинг ваших модулей для обеспечения максимальной эффективности (т. Е. Нескольких контроллеров и представлений на модуль)
0 голосов
/ 08 февраля 2010

Если у вас так много модулей, вы можете перенести некоторые функции в плагины (то есть создать свои собственные плагины).
Преимущество заключается в том, что вы можете использовать эту функцию и в других проектах.

Или вы можете сгруппировать ваши модули в приложения. Вы можете иметь столько приложений, сколько хотите, не только backend и frontend.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...