Организация кода Drupal - PullRequest
       2

Организация кода Drupal

2 голосов
/ 27 декабря 2010

Как вы хотели бы организовать свой код Drupal? Один гигантский модуль? Отдельные модули для функции? Отдельные модули для каждого типа кода (функции тем, перехватчики меню и т. Д.)?

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

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

Ответы [ 3 ]

1 голос
/ 27 декабря 2010

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

Это действительно не имеет большого значения, если вы не распространяете его на Drupal.org, так что, что бы ни делалоСмысл тебе в порядке.

0 голосов
/ 28 декабря 2010

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

0 голосов
/ 27 декабря 2010

Я загружаю все настройки в один модуль для каждого проекта (меню / форма / изменения ссылок и т. Д.). Если будет выполнено достаточное количество настроек, я раскошелю оригинальный модуль или создам новый модуль с исходным модулем в качестве зависимости. Именно в этот момент это довольно субъективно: у меня нет жесткого и быстрого правила, говорящего «разветвите модуль, когда я достигну такого количества функциональных точек или строк кода».

Все, что добавляет функциональность (что означает, что оно не перекрывает что-то еще), попадает в его собственный модуль.

Если какие-либо вновь созданные или разветвленные модули можно использовать в других проектах или контекстах, я опубликую их в своем личном репозитории.

...