Модель ресурсов и репозиторий в Magento 2


Я довольно запутан в концепции модели ресурсов и репозитория в Magento 2.

Отвечают ли они оба за управление постоянным хранилищем, как MYSQL?

Пусть говорит, что я хотел бы получить конкретную модель клиента по идентификатору из MYSQL, как работают модель ресурсов и репозиторий, чтобы вернуть правильный результат?

Пожалуйста, любезно поправьте меня, если я неправильно понимаю концепцию.

Большое спасибо!!!!

Author: Leo Chiu, 2017-03-02

1 answers

Модели ресурсов - это способ обработки моделей в Magento 1 и все еще доступны в Magento 2. Репозитории - это способ, которым мы должны обрабатывать хранение и извлечение моделей в Magento 2, но их использование не является последовательным.

Способ загрузки модели ресурсов будет примерно таким:

<?php

class SomeClass {
    public function __construct(\Magento\Customer\Model\CustomerFactory $customerFactory)
    {
        $customer = $customerFactory->create();
        // load concrete customer instance
        $customer->getResourceModel()->load($customer, $someCustomerId);
    }
}

Эквивалентом репозитория будет:

<?php

class SomeClass {
    public function __construct(\Magento\Customer\Model\ResourceModel\CustomerRepository $customerRepository)
    {
        /** @var \Magento\Customer\Model\Data\Customer $customer */
        $customer = $customerRepository->getById($someCustomerId);
    }
}
 4
Author: Petar Dzhambazov, 2017-03-02 17:14:30