Magento2: la mejor forma de cargar ID de cliente por cliente


15

¿Cuál es la mejor manera de cargar Cliente por Id? utilizando la interfaz del cliente o la fábrica del cliente u otra forma?
En la mayoría de las soluciones que encontré, se hace directamente usando objectManager(que nunca se debe usar).

Respuestas:


24

Siempre es una mejor práctica usar contratos de servicio.

En su caso, usaría \Magento\Customer\Api\CustomerRepositoryInterface:

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

Luego, en su código puede llamar:

$customerId = 1;
$customer = $this->_customerRepositoryInterface->getById($customerId);

no funciona ... lo tengo en helper / data.php y llamo a este método en el archivo phtml pero no funciona.
Sarfaraj Sipai
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.