উত্তর:
আমি মনে করি না ইভেন্টের পর্যবেক্ষকদের প্রতিস্থাপনের উদ্দেশ্যে বাধা দেওয়া is
Magento2 কোডে এখনও ইভেন্টগুলি প্রেরণ করা আছে।
ইন্টারসেপ্টরগুলি কোনও পদ্ধতির ইনপুট বা আউটপুট প্রক্রিয়াজাত করার একটি উপায়।
বা কোনও পদ্ধতির আচরণ ( around
ইন্টারসেপ্টার ব্যবহার করে ) তবে আমি যা বুঝতে পারি তা থেকে ঝুঁকিপূর্ণ উপায়।
আমি মনে করি এটি ক্লাসের পুনর্লিখনগুলি যতটা সম্ভব এড়ানোর উপায় of
ম্যাজেন্টো 1.x এ, যদি আপনাকে কোনও পদ্ধতির ফলাফলটি সংশোধন করতে হয় তবে আপনার নিজের ক্লাসটি ও মেথডটিতে থাকা ওভাররাইড করতে হবে।
এখন আপনি কেবল ব্যবহার করতে পারেন before
, after
বা around
interceptors খুব তথ্য নিপূণভাবে করতে।
পর্যবেক্ষকদের সাথে আপনি কোনও পদ্ধতির নির্দিষ্ট নির্দিষ্ট পয়েন্টগুলিতে ডেটা ম্যানিপুলেট করতে পারেন, সম্পূর্ণ পদ্ধতি নিজেই নয়।
আমার মতে, সম্ভব হলে পর্যবেক্ষকদের ব্যবহার করা এমনকি ম্যাজেন্টো 2 তেও কাস্টমাইজ করার জন্য সর্বোত্তম পন্থা।
বাধা ঘটনা ঘটনা বিবর্তন। এর লক্ষ্য হ'ল কোনও বিকাশকারীকে এক্সটেনশন পয়েন্টগুলির কথা চিন্তা না করে তার কোডটি লেখার অনুমতি দেওয়া।
ইভেন্টগুলির সাথে আপনাকে সেই জায়গাগুলি নিয়ে ভাবতে হবে যেখানে আপনি ম্যাজ করেন :: প্রেরণ ইভেন্ট () যাতে আপনার মডিউলটি অনুকূলিতকরণযোগ্য হয় be
বিরতি আপনাকে এই সম্পর্কে চিন্তা না করার অনুমতি দেয়। আপনি কেবল আপনার ব্যবসায়িক যুক্তি লিখুন। প্রতিটি পদ্ধতি কল একটি ইভেন্ট। সুতরাং আপনি যদি নিজের কোডটি কোনও সঠিক অবজেক্ট-ভিত্তিক উপায়ে লেখেন তবে এটি ডিজাইনের মাধ্যমে সম্পূর্ণ কাস্টমাইজযোগ্য হবে।
তবে ইভেন্টগুলি উচ্চ স্তরের পরিষেবা সরবরাহ করে ইন্টারফেস সরবরাহ করে যা ব্যবসায়িক ভাষায় কথা বলে। সুতরাং ইভেন্টগুলি ম্যাজেন্টো 2 এ থাকবে।
বর্তমানে নির্দিষ্ট ইভেন্টগুলি শোনার বিকল্প রয়েছে এবং আমি সুপারিশ করব যে ইন্টারসেপ্টরগুলি পুনরায় লেখার জন্য কেবল একটি প্রতিস্থাপন। আপনার প্রয়োজনের জন্য যখন কোনও স্থানে আছে তখন আমি ইভেন্টগুলি ব্যবহার করব।
আপনি যদি বর্তমান প্রকাশের দিকে তাকান তবে কয়েকটি মডিউলে এমন events.xml
ফাইল রয়েছে যা সংজ্ঞাগুলি অন্তর্ভুক্ত করে।
<event name="cms_wysiwyg_images_static_urls_allowed">
<observer name="catalog_wysiwyg" instance="Magento\Catalog\Model\Observer" />
</event>