Magento 2 - Sammlungen gegen Repositories

7

Bitte erläutern Sie den Unterschied zwischen Sammlungen und Repositorys.

  1. Was ist der Unterschied zwischen diesen beiden?
  2. Welches soll ich im benutzerdefinierten Modul verwenden?
Pete Jaworski
quelle

Antworten:

7

Sammlungen

  • Wenn Sie während der Entwicklung mit Sammlungen arbeiten, die viele Attribute, Filter und möglicherweise ein zukünftig großes Dataset enthalten, möchten Sie möglicherweise die SQL-Protokollierung verwenden, um tatsächliche SQL-Abfragen aufzuzeichnen, die auf den Datenbankserver treffen.

  • Dies kann uns helfen, mögliche Leistungsengpässe zu erkennen und rechtzeitig zu reagieren, indem wir setPageSize oder addAttributeToSelect oder beides um weitere Grenzwerte erweitern.

Repositories

  • Wenn Sie Repositorys verwenden, halten Sie sich an Magento 2-Serviceverträge. Dies bedeutet, dass Serviceschnittstellen und Datenschnittstellen definiert sind (jedoch durch Module von Drittanbietern erweiterbar sind).
  • Zur Laufzeit kann das Ergebnis des Aufrufs in die Methode getList () eines Repositorys geändert werden.
  • Um die zur Laufzeit benötigten Attribute abzurufen, können Sie Sammlungen verwenden. Das Magento 2-Framework selbst nutzt Sammlungen in hohem Maße.
  • Andernfalls sollten Sie ein Modul implementieren, das eine neue Datenschnittstelle (dh den neuen Satz von Attributen) für diese Entität definiert.

So können wir sowohl unsere Priorität als auch unsere Flexibilität nutzen.

medmek
quelle