Я знаю, что есть много тем по этому вопросу, но я не уверен, что четко понимаю ..
Когда нам нужно было использовать сервисный контракт?
- Являются ли они заменить CRUD проделанный
Model
/ResourceModel
? - Нужно ли было каждый раз создавать контракт на обслуживание для каждого объекта, который будет использовать таблицу данных в пользовательском модуле?
- Они действительно интересны для будущего развития?
- Почему Magento иногда использует
save
/load
из модели в контроллере / блоке, а иногда нет?
Спасибо
magento2
custom
service-contract
crud
TaKe_Da_ShAkEr
источник
источник
Ответы:
По сути, сервисные контракты - это набор интерфейсов, которые доступны для модулей для объявления стандартных API. В общем, есть две категории API: API данных, который предоставляет методы CRUD, и операционный API, который действительно что-то делает.
Контракты на обслуживание выполняют ряд важных функций, таких как:
Теперь, с использованием интерфейсов и API, гораздо понятнее, как взаимодействовать с модулями в более модульной системе Magento, поскольку они взаимодействуют только через API.
Все классы документируются через их интерфейсы, так что вы точно знаете, что каждый из них делает, и как его использование повлияет на всю вашу реализацию.
Я настоятельно рекомендую вам пройти курс Magento Основы magento Development, который Magento предоставляет бесплатно до 31.01.2017. Он охватывает исчерпывающий обзор контрактов на обслуживание и включает в себя Framework API, Data API и веб-API.
источник
Контракты на обслуживание очень полезны в Magento2. Они точно определяют, какие поля данных вам нужны для ввода. Поскольку Magento разработан таким образом, что и контроллеры, и процессы, и веб-интерфейсы используют одни и те же репозитории и модели, контракт на обслуживание помогает сделать данные одинаковыми для всех из них. Это также полезно, потому что это дает вам возможность вводить фабрики и другие вещи довольно легко.
источник