আইডি দ্বারা গ্রাহককে লোড করার সর্বোত্তম উপায় কী? গ্রাহক ইন্টারফেস বা গ্রাহক কারখানা বা অন্য কোনও উপায়ে ব্যবহার করছেন?
বেশিরভাগ সমাধানে আমি খুঁজে পেয়েছি, এটি সরাসরি ব্যবহার করে করা হয় objectManager
(যা কখনই ব্যবহার করা উচিত নয়)।
আইডি দ্বারা গ্রাহককে লোড করার সর্বোত্তম উপায় কী? গ্রাহক ইন্টারফেস বা গ্রাহক কারখানা বা অন্য কোনও উপায়ে ব্যবহার করছেন?
বেশিরভাগ সমাধানে আমি খুঁজে পেয়েছি, এটি সরাসরি ব্যবহার করে করা হয় objectManager
(যা কখনই ব্যবহার করা উচিত নয়)।
উত্তর:
পরিষেবা চুক্তি ব্যবহার করা এটি সর্বদা একটি ভাল অনুশীলন।
আপনার ক্ষেত্রে আমি ব্যবহার করব \Magento\Customer\Api\CustomerRepositoryInterface
:
protected $_customerRepositoryInterface;
public function __construct(
....
\Magento\Customer\Api\CustomerRepositoryInterface $customerRepositoryInterface,
....
) {
....
$this->_customerRepositoryInterface = $customerRepositoryInterface;
}
তারপরে আপনার কোডে আপনি কল করতে পারেন:
$customerId = 1;
$customer = $this->_customerRepositoryInterface->getById($customerId);