#magento2
#magento2
Вопрос:
Некоторые модули поставщика magento содержат папку с именем «Service», какова конкретная цель для этих каталогов.
Обычно контракт на обслуживание находится в каталоге «Api», поэтому уже доступен один каталог, тогда какая польза от дополнительного каталога служб.
Ответ №1:
В Magento2 у вас есть полная свобода, когда дело доходит до именования ваших папок, при условии, что вы соответствуете стандартам PSR.
Существуют некоторые соглашения (как в лучших практиках), но в конечном итоге название папок на самом деле не имеет значения…
Обычно используемые папки (и лучше ими быть, поскольку некоторые действия в Magento основаны на этих соглашениях, см., например, Сценарии установки):
- API — общедоступные интерфейсы;
- Модель — классы модели и модели ресурсов;
- Block — классы блоков;
- Помощник — вспомогательные классы;
- Настройка — сценарии установки;
- просмотр — файлы уровня представления;
- etc — файлы конфигурации (обычно XML и XSD);
- и т.д…
Пожалуйста, ознакомьтесь с рекомендациями https://devdocs.magento.com/guides/v2.2/ext-best-practices/extension-coding/common-programming-bp.html (также есть версия в документации 2.1 и 2.3), для вашей собственной разработки, но имейте в виду, что не все разработчики следуют (или даже осведомлены) этим рекомендациям и что — помимо общих шаблонов — у вас гораздо больше свободы, чем для M1.
Ответ №2:
Каталог служб не является общим функциональным каталогом модуля Magento. Это просто пользовательский каталог, используемый этим модулем, и не имеет общего значения.
На самом деле в vendor / magento все еще существует множество пользовательских каталогов внутри разных модулей по умолчанию, например, в module-elasticsearch есть каталог /Elasticsearch5 и /SearchAdapter.