วิธีที่ดีที่สุดในการโหลดรหัสลูกค้าคืออะไร? ใช้ส่วนต่อประสานลูกค้าหรือโรงงานของลูกค้าหรือวิธีอื่น?
ในวิธีแก้ปัญหาส่วนใหญ่ที่ฉันพบนั้นทำได้โดยใช้โดยตรง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);