Je sais qu'il y a beaucoup de sujets sur cette question mais je ne suis pas sûr de bien comprendre ..
Quand avons-nous eu besoin d'utiliser un contrat de service?
- Remplacent-ils le CRUD effectué par
Model
/ResourceModel
? - Avions-nous besoin de créer à chaque fois un contrat de service pour chaque entité qui utilisera un tableau de données sur un module personnalisé?
- Sont-ils vraiment intéressants pour un développement futur?
- Pourquoi Magento utilise parfois
save
/ àload
partir du modèle dans Controller / Block, et parfois non?
Je vous remercie
magento2
custom
service-contract
crud
TaKe_Da_ShAkEr
la source
la source
Réponses:
Fondamentalement, les contrats de service sont un ensemble d'interfaces disponibles pour que les modules déclarent des API standard. En gros, il existe deux catégories d'API, l'API de données qui expose les méthodes CRUD et l'API opérationnelle qui fait réellement quelque chose.
Les contrats de service remplissent un certain nombre de fonctions importantes, telles que:
Maintenant, avec l'utilisation des interfaces et des API, il est beaucoup plus clair comment interagir avec les modules du système plus modulaire de Magento car ils ne communiquent que via l'API
Toutes les classes sont documentées via leurs interfaces, afin que vous sachiez exactement ce que chacune fait et comment son utilisation aura un impact sur l'ensemble de votre implémentation.
Je vous recommande fortement de suivre les principes du cours Magento sur le développement de magento que Magento fournit gratuitement jusqu'au 31/1/2017. Il couvre de manière exhaustive la vue d'ensemble du contrat de service et se décline en API Framework, API Data et API Web
la source
Les contrats de service sont très utiles dans Magento2. Ils définissent exactement les champs de données dont vous avez besoin pour une entrée. Étant donné que Magento est développé de manière à ce que les contrôleurs, les processus et les API Web consomment les mêmes référentiels et modèles, le contrat de service permet de rendre les données identiques sur tous. Il est également utile car il vous donne la possibilité d'injecter des usines et d'autres choses assez facilement.
la source