Magento 2 Retrieve Customer Data Object by ID with the help of interface CustomerRepositoryInterface.
You can get customer information by just passing the customer id using below code snippet,
I have written function inside Block class,
<?php
namespace Rbj\Customer\Block;
class Customer extends \Magento\Framework\View\Element\Template
{
/**
* Constructor
*
* @param \Magento\Framework\View\Element\Template\Context $context
* @param array $data
*/
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Customer\Api\CustomerRepositoryInterface $customerRepository,
array $data = []
) {
$this->customerRepository = $customerRepository;
parent::__construct($context, $data);
}
/* Pass customer id $id*/
public function getCustomer($id)
{
return $this->customerRepository->getById($id);
}
Call getCustomer($id) function in template file,
$customerId = 1; //pass dynamic customer id
$getCustomer = $block->getCustomer($customerId);
echo $customer->getFirstname(); // result customer first name
echo $customer->getEmail(); // result as customer email
echo $customer->getLastname(); // customerr lastname
Get all customer data by the below way,
echo “<pre>”;print_r($customer->__toArray());
Array
(
[website_id] => 1
[email] => roni_cost@example.com
[group_id] => 1
[store_id] => 1
[created_at] => 2017-11-10 13:09:03
[updated_at] => 2017-11-23 12:48:29
[disable_auto_group_change] => 0
[created_in] => Default Store View
[prefix] =>
[firstname] => Veronica
[middlename] =>
[lastname] => Costello
[suffix] =>
[dob] => 1973-12-15
[default_billing] => 1
[default_shipping] => 1
[taxvat] =>
[confirmation] =>
[gender] => 2
[addresses] => Array
(
[0] => Array
(
[firstname] => Veronica
[lastname] => Costello
[street] => Array
(
[0] => 6146 Honey Bluff Parkway
)
[city] => Calder
[country_id] => US
[region] => Array
(
[region] => Michigan
[region_code] => MI
[region_id] => 33
)
[region_id] => 33
[postcode] => 49628-7978
[telephone] => (555) 229-3326
[id] => 1
[customer_id] => 1
[default_billing] => 1
[default_shipping] => 1
)
)
[id] => 1
[extension_attributes] => Array
(
[is_subscribed] =>
)
)