Страница 1 из 1

Advanced шаблон и организация структуры модулей

Добавлено: 2017.08.08, 18:11
Matvik
Здравствуйте! В чате телеграма образовалась дискуссия, и к общему выводу пока не пришли. Суть вопроса:
Я раньше писал только с использованием шаблона basic. Там все просто - есть папка модулей, в ней модули каждый в своей подпапке, и можно еще разделить контроллеры на фронт и бек.
Теперь решил попробовать advanced, и столкнулся с дилеммой: как организовать модули? По-сути, выработалось несколько альтернатив:
  • В каждом приложении (и в common) папка с модулями, в ней по папке на каждый модуль. То есть, по сути, один модуль выходит раскидан в три папки по приложениях. Минус - модуль не в одном месте.
  • Так, как в предыдущем варианте, но полностью независимые модули (то есть, без common). Тогда придется дублировать модели, например. Зато, оба приложения полностью независимы.
  • Третий вариант - отдельная папка с модулями, каждый в себе уже имеет подпапки frontend, backend и т. д. Так, как тут описано: http://www.elisdn.ru/blog/85/seo-servic ... of-modules. Но - в таком случае пропадает четкое разделение на фронтенд и бекенд в структуре проекта. Такое можно сделать и на basic шаблоне легко.

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2017.08.08, 18:13
samdark
По ситуации... все способы из перечисленных хороши, но надо выбирать под задачу.

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2017.08.08, 18:19
Matvik
samdark писал(а): 2017.08.08, 18:13 По ситуации... все способы из перечисленных хороши, но надо выбирать под задачу.
Спасибо. А какие критерии? Просто без опыта тут сложно разобраться, как именно поступать в том или ином случае.

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2017.08.08, 18:27
zelenin
просто модуль как отдельная структура без подразделения на fronend/backend.

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2017.08.08, 18:39
Matvik
zelenin писал(а): 2017.08.08, 18:27 просто модуль как отдельная структура без подразделения на fronend/backend.
То есть забить на advanced шаблон? Как я понимаю в нем суть именно в таком разделении.

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2017.08.08, 18:45
zelenin
Matvik писал(а): 2017.08.08, 18:39
zelenin писал(а): 2017.08.08, 18:27 просто модуль как отдельная структура без подразделения на fronend/backend.
То есть забить на advanced шаблон? Как я понимаю в нем суть именно в таком разделении.
advanced - это логическое разделение на несколько приложений в контексте фронтенд/админка (безопасность например). Бизнес-слой у них может быть и должен быть одинаков. Не надо размазывать модуль по частям, не надо дублировать модели. Если хотите, модели и сервисы храните непосредственно в модуле, а контроллеры пихайте в соответствующие части приложения.

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2017.08.08, 18:51
Matvik
zelenin писал(а): 2017.08.08, 18:45
Matvik писал(а): 2017.08.08, 18:39
zelenin писал(а): 2017.08.08, 18:27 просто модуль как отдельная структура без подразделения на fronend/backend.
То есть забить на advanced шаблон? Как я понимаю в нем суть именно в таком разделении.
advanced - это логическое разделение на несколько приложений в контексте фронтенд/админка (безопасность например). Бизнес-слой у них может быть и должен быть одинаков. Не надо размазывать модуль по частям, не надо дублировать модели. Если хотите, модели и сервисы храните непосредственно в модуле, а контроллеры пихайте в соответствующие части приложения.
Ок. а можно пример, как оно выглядит на практике?

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2017.08.08, 21:28
zelenin
Matvik писал(а): 2017.08.08, 18:51
zelenin писал(а): 2017.08.08, 18:45
Matvik писал(а): 2017.08.08, 18:39

То есть забить на advanced шаблон? Как я понимаю в нем суть именно в таком разделении.
advanced - это логическое разделение на несколько приложений в контексте фронтенд/админка (безопасность например). Бизнес-слой у них может быть и должен быть одинаков. Не надо размазывать модуль по частям, не надо дублировать модели. Если хотите, модели и сервисы храните непосредственно в модуле, а контроллеры пихайте в соответствующие части приложения.
Ок. а можно пример, как оно выглядит на практике?
ровно так как сказал. что конкретно интересует?

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2017.08.09, 00:14
Matvik
Не надо размазывать модуль по частям, не надо дублировать модели. Если хотите, модели и сервисы храните непосредственно в модуле, а контроллеры пихайте в соответствующие части приложения.
Вот это. Структуру папок при таком подходе.

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2017.08.09, 00:18
zelenin
Matvik писал(а): 2017.08.09, 00:14
Не надо размазывать модуль по частям, не надо дублировать модели. Если хотите, модели и сервисы храните непосредственно в модуле, а контроллеры пихайте в соответствующие части приложения.
Вот это. Структуру папок при таком подходе.
/frontend
../controllers
../views
/backend
/modules
../models
../services

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2019.11.20, 16:48
maleks
Matvik писал(а): 2017.08.08, 18:11 Третий вариант - отдельная папка с модулями, каждый в себе уже имеет подпапки frontend, backend и т. д. Так, как тут описано
Этот вариант выглядит само неплохо, но вот подумал, а если такой модуль потребуется подключить в basic шаблон, будут же проблемы, т.к. там смысл что делается через подмену controllerNamesnace и может быть только одно. Или это как то обходится?

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2019.11.21, 11:25
maleks
Не до конца дочитал. Там Дмитрий модуль по 2 раза подключает, с разными неймспейсами.
Хорошо бы чтобы 1 раз.
Я вот подумал, может через controllerMap такое можно имитировать... Попробую.

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2019.11.22, 11:51
maleks
Дела продвигаются.
Успешно пока. 8-)
За основу то что у Дмитрия, но без необходимости на basic шаблоне подключать 2 раза.
Есть какие то особые ожидания от самодостаточного модуля, который несет в себе функционалы фронта и бэка, и может без проблем подключиться и к advanced и к basic шаблону?

Re: Advanced шаблон и организация структуры модулей

Добавлено: 2019.12.09, 16:04
maleks
Продолжение моих изысканий тут.