Ich habe in Magento 2 einige Tutorials durchgearbeitet, was mich ein wenig verwirrt. Ich sehe, dass es grundsätzlich zwei Möglichkeiten gibt, wie wir Geschäftseinheiten lesen / schreiben können:
Daten abrufen
Verwenden eines Factory-Ansatzes
$object = $this->myFactory->create();
$object->load($myId);
Verwenden eines Repository-Ansatzes
$repo = $this->myRepository();
$object = $repo->getById($myId);
Daten speichern
Verwenden eines Factory-Ansatzes
$object = $this->myFactory->create();
$object->load($myId);
$object->setData('something', 'somethingDifferent')->save();
Verwenden eines Repository-Ansatzes
$repo = $this->myRepository();
$object = $repo->getById($myId);
$object->setData('something', 'somethingDifferent');
$repo->save($object);
Ich kann auch sehen, dass sowohl ein Repository als auch eine Factory-Klasse mithilfe der Abhängigkeitsinjektion injiziert werden können. Das ist zumindest für mich verwirrend.
Wann sollten wir einen Repository-Ansatz und einen Factory-Ansatz verwenden? Was ist die beste Vorgehensweise, die wir befolgen müssen?