আমি ভাবছিলাম, এক্সটেনসিবল ইএভি মডেলটি বাস্তবায়নের সঠিক উপায় কী।
আমি দেখতে পাচ্ছি যে Magento\Catalog\Model\Productপদ্ধতিটি getExtensionAttributes()এভাবে প্রয়োগ করা হয়:
public function getExtensionAttributes()
{
$extensionAttributes = $this->_getExtensionAttributes();
if (!$extensionAttributes) {
return $this->extensionAttributesFactory->create('Magento\Catalog\Api\Data\ProductInterface');
}
return $extensionAttributes;
}
তবে অন্যদের মধ্যে গ্রাহক বা বিভাগের মডেলগুলির মতো এটি ঠিক
public function getExtensionAttributes()
{
return $this->_getExtensionAttributes();
}
এক্সটেনশন_ট্রিবিউট কী আগে সেট না করা থাকলে এটি একটি NUL ফলাফলের দিকে নিয়ে যায়।
ব্যবহারিকভাবে, আমি প্রথমটি পছন্দ করব। এই Magento\Framework\Api\ExtensionAttributesInterfaceমডেলটি সবেমাত্র তাত্ক্ষণিকভাবে চালিত হওয়া সত্ত্বেও আমি সর্বদা উদাহরণটি পেতে নিশ্চিত হতে পারি ।
তবে কেন এটি অন্য মডিউলগুলিতে ব্যবহৃত হয় না? আমরা গ্রাহক মডিউলটিতে যে ডেটা মডেলগুলি দেখি তা কি নতুন বিচ্ছেদের বিরুদ্ধে? যদি তা হয় তবে কীভাবে আমরা এক্সটেনশন বৈশিষ্ট্যগুলি আরম্ভ করার কথা?