Для чего нужен каталог служб в magento 2

#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.