我已经阅读了Magento 2中的一些教程,这让我有些困惑。我可以看到基本上有两种方法可以读取/写入业务实体:
检索数据
使用工厂方法
$object = $this->myFactory->create();
$object->load($myId);
使用存储库方法
$repo = $this->myRepository();
$object = $repo->getById($myId);
保存数据
使用工厂方法
$object = $this->myFactory->create();
$object->load($myId);
$object->setData('something', 'somethingDifferent')->save();
使用存储库方法
$repo = $this->myRepository();
$object = $repo->getById($myId);
$object->setData('something', 'somethingDifferent');
$repo->save($object);
我还看到,可以使用依赖项注入来注入存储库和工厂类。至少对我来说这令人困惑。
我们什么时候应该使用存储库方法和工厂方法?我们需要遵循的最佳实践是什么?