Magento2: Najlepszy sposób na załadowanie klienta według identyfikatora klienta

15

Jak najlepiej załadować klienta według identyfikatora? korzystasz z interfejsu klienta lub fabryki klienta lub w inny sposób?
W większości rozwiązań, które znalazłem, odbywa się to poprzez bezpośrednie użycie objectManager(którego nigdy nie należy używać).

Vishwas Bhatnagar
źródło

Odpowiedzi:

24

Zawsze lepiej jest korzystać z umów serwisowych.

W twoim przypadku użyłbym \Magento\Customer\Api\CustomerRepositoryInterface:

protected $_customerRepositoryInterface;
public function __construct(
    ....
    \Magento\Customer\Api\CustomerRepositoryInterface $customerRepositoryInterface,
    ....
) {
    ....
    $this->_customerRepositoryInterface = $customerRepositoryInterface;
}

Następnie w kodzie możesz zadzwonić:

$customerId = 1;
$customer = $this->_customerRepositoryInterface->getById($customerId);
Raphael at Digital Pianism
źródło
nie działa ... Mam go w helper / data.php i wywołuję tę metodę w pliku phtml, ale nie działa.
Sarfaraj Sipai