Ich weiß, dass es viele Themen zu dieser Frage gibt, aber ich bin mir nicht sicher, ob ich sie klar verstehen kann.
Wann mussten wir den Servicevertrag nutzen?
- Ersetzen sie die CRUD durch
Model
/ResourceModel
? - Mussten wir jedes Mal einen Servicevertrag für jede Entität erstellen, die eine Datentabelle für ein benutzerdefiniertes Modul verwendet?
- Sind sie wirklich interessant für die zukünftige Entwicklung?
- Warum verwendet Magento manchmal
save
/load
aus dem Modell in Controller / Block und manchmal nicht?
Danke
magento2
custom
service-contract
crud
TaKe_Da_ShAkEr
quelle
quelle
Antworten:
Grundsätzlich sind Serviceverträge eine Reihe von Schnittstellen, über die Module Standard-APIs deklarieren können. Grundsätzlich gibt es zwei Kategorien von APIs: Die Daten-API, die CRUD-Methoden verfügbar macht, und die Betriebs-API, die tatsächlich etwas bewirkt.
Serviceverträge erfüllen eine Reihe wichtiger Funktionen, wie z.
Durch die Verwendung von Schnittstellen und APIs ist es jetzt viel klarer, wie mit Modulen im modulareren System von Magento interagiert werden soll, da diese nur über API kommunizieren
Alle Klassen werden über ihre Schnittstellen dokumentiert, sodass Sie genau wissen, was die einzelnen Klassen tun und wie sich ihre Verwendung auf Ihre gesamte Implementierung auswirkt.
Ich würde Ihnen wärmstens empfehlen, an den Magento-Kursgrundlagen der Magento-Entwicklung teilzunehmen, die Magento bis zum 31.1.2017 kostenlos zur Verfügung stellt. Es behandelt ausführlich die Übersicht über Serviceverträge und gliedert sich in Framework-API, Daten-API und Web-API
quelle
Serviceverträge sind in Magento2 sehr nützlich. Sie definieren genau, welche Datenfelder Sie für eine Eingabe benötigen. Da Magento so entwickelt wurde, dass sowohl Controller als auch Prozesse und Web-APIs dieselben Repositorys und Modelle verwenden, trägt der Servicevertrag dazu bei, dass die Daten für alle gleich sind. Es ist auch nützlich, weil es Ihnen die Möglichkeit gibt, Fabriken und andere Dinge ganz einfach zu injizieren.
quelle