আমি সচেতন যে ম্যাজেন্টো 2 পরিষেবা চুক্তির আর্কিটেকচারের অংশ হিসাবে ডেটা মডেল প্রবর্তন করেছে। ডেটা মডেলগুলি সাধারণত মডিউলটির এপি / ডেটা / সংজ্ঞায়িত ইন্টারফেস প্রয়োগ করে।
তবে, মনে হয় ম্যাজেন্টো পুরানো মডেলগুলিও ধরে রেখেছে।
মডিউল-গ্রাহকের একটি উদাহরণ নেওয়া যাক।
- এপিআই / ডেটা / গ্রাহকআইন্টারফেস.এফপি সংজ্ঞায়িত ডেটা মডেল ইন্টারফেস
- উপরোক্ত ইন্টারফেসটি মডেল / ডেটা / গ্রাহক
- ডেটা মডেলটিতে গ্রাহক ভেরিয়েবলগুলির জন্য সমস্ত গেটর এবং সেটার ফাংশন রয়েছে, যেমনটি কেউ আশা করে
- উপরের পাশাপাশি একটি মডেল / গ্রাহক। পিএফপিও রয়েছে। এটিতেও গিটার এবং সেটার ফাংশন রয়েছে। এটি এমন একটি ম্যাজেন্টো 1 মডেলের মতো যা রিসোর্সমোডেলের সাথে সংযুক্ত হয় (মডেল / রিসোর্সমোডেল / গ্রাহক
- মডেল / রিসোর্সমোডেল / গ্রাহকরোপোসিটারি.এফপি-তে বিভিন্ন ফাংশন ম্যাগনেন্টো 1 মডেল থেকে ডেটা সংগ্রহ করে, তাদের ডেটা মডেলে স্থানান্তর করে এবং তারপরে ডেটা মডেলটি ফিরিয়ে দেয়।
কেন একজনের পুরানো মডেলটির প্রয়োজন? কেন ডেটা মডেল সরাসরি রিসোর্সমোডেলের সাথে সংযোগ স্থাপন করতে পারে না?
\Magento\Customer\Api\Data\CustomerInterfaceREST / SOAP API (যদি সক্ষম করা থাকে) এর জন্য উন্মুক্ত করা হয়। তবে কোন পদ্ধতিগুলি উন্মুক্ত হয়েছে তা নির্বাচন করার জন্য আপনার কোনও ডেটা মডেলের প্রয়োজন নেই, কারণ আপনি কেবল পরিবর্তে 'রিয়েল' মডেলের সাথে ইন্টারফেসটি সংযুক্ত করতে পারেন। এভাবেই এটি শেষ হয়েছে\Magento\Catalog\Model\Productএবং\Magento\Catalog\Api\Data\ProductInterface