ম্যাজেন্টো 2-তে, আমি কী ক্ষেত্রে ব্যবহার করব di.xml
এবং di.xml
মডিউলটির জন্য কীভাবে ব্যবহার করব ?
যে কেউ জানত, দয়া করে আমাকে ধাপে ধাপে দেখান।
ম্যাজেন্টো 2-তে, আমি কী ক্ষেত্রে ব্যবহার করব di.xml
এবং di.xml
মডিউলটির জন্য কীভাবে ব্যবহার করব ?
যে কেউ জানত, দয়া করে আমাকে ধাপে ধাপে দেখান।
উত্তর:
What case We use di.xml ?
আসুন আমরা Magento 2 গ্রাহক মডিউল থেকে একটি দ্রুত উদাহরণ গ্রহণ করি।
1.Preference
<preference for="Magento\Customer\Api\AddressRepositoryInterface"
type="Magento\Customer\Model\ResourceModel\AddressRepository" />
কোডের উপরে, যখন কেউ আপনাকে Magento\Customer\Api\AddressRepositoryInterface
কোনওটি ইনস্ট্যান্ট করতে বলেছে এটি একটি ম্যাজেন্টো \ গ্রাহক \ মডেল \ রিসোর্সমোডেল \ অ্যাড্রেস রিপোসিটরি অবজেক্ট (টাইপ অ্যাট্রিবিউট) ইনস্ট্যান্ট করবে।
শ্রেণি পছন্দ কনফিগারেশন কেবল ইন্টারফেসের জন্য নয় আমরা আসল ক্লাসগুলিকেও পরিবর্তন করতে পারি।
<preference for="Magento\Customer\Model\CustomerManagement"
type="Magento\Customer\Model\customModel" />
আপনি 'কাস্টমম্যানেজমেন্ট' এর জন্য 'কাস্টমমডেল' শ্রেণি তৈরি করতে পারেন এবং পরিবর্তনগুলি করতে পারেন। ক্লাস পুনর্লিখন সিস্টেমের প্রতিস্থাপন হিসাবে শ্রেণি পছন্দ সিস্টেম।
http://alanstorm.com/magento_2_object_manager_preferences
2. যুক্তি
<type name="Magento\Customer\Model\ResourceModel\Group" shared="false">
<arguments>
<argument name="groupManagement" xsi:type="object">Magento\Customer\Api\GroupManagementInterface\Proxy</argument>
</arguments>
</type>
উপরের কোডে, আমরা একটি আর্গুমেন্ট হিসাবে অবজেক্টটি প্রেরণ করছি, আমরা সিস্টেমকে বলছি নাম সহ একটি বস্তু হিসাবে "প্রক্সি" শ্রেণিটি সন্নিবেশ করানোর জন্য groupManagement
। এছাড়াও, আমরা বিদ্যমান যুক্তিটি প্রতিস্থাপনের জন্য যুক্তিগুলিও ব্যবহার করতে পারি।
http://alanstorm.com/magento_2_object_manager_argument_replacement
3. প্লাগইন
<type name="Magento\Customer\Model\ResourceModel\Visitor">
<plugin name="catalogLog" type="Magento\Catalog\Model\Plugin\Log" />
</type>
উপরের কোডে, public function clean($object)
দর্শকদের ক্লাসে afterClean(Visitor $subject, $logResourceModel)
লগ ক্লাসে প্রকাশ্য ফাংশনের পরে ডাকা হয় ।
4 ভার্চুয়াল প্রকার
ভার্চুয়াল টাইপ তৈরি করা হ'ল বিদ্যমান ক্লাসের জন্য সাব-ক্লাস তৈরির মতো।
আরও নোটের জন্য দয়া করে ব্যবহারিক উদাহরণগুলির মধ্যে যান যা আমি অ্যালানের লিঙ্ক হিসাবে উল্লেখ করেছি, অনুশীলন করে আপনি আরও সুস্পষ্ট অভিজ্ঞতা পেতে পারেন।
আশাকরি এটা সাহায্য করবে.... :)