ম্যাজেন্টো 2-এ বাধা দেওয়া কি ম্যাজেন্টো 1-এ পর্যবেক্ষকদের প্রতিস্থাপন করে?


9

পর্যবেক্ষকরা ম্যাজেন্টো 1-তে থাকাকালীন ম্যাজেন্টো 2-তে কোনও মূল পদ্ধতির আচরণের পরিবর্তন করার সাথে সাথে আচরণ করার সময় বাধা দেওয়া কি পছন্দসই পদ্ধতি হিসাবে চিহ্নিত হতে পারে?

https://wiki.magento.com/display/MAGE2DOC/Using+Interception

উত্তর:


16

আমি মনে করি না ইভেন্টের পর্যবেক্ষকদের প্রতিস্থাপনের উদ্দেশ্যে বাধা দেওয়া is
Magento2 কোডে এখনও ইভেন্টগুলি প্রেরণ করা আছে।

ইন্টারসেপ্টরগুলি কোনও পদ্ধতির ইনপুট বা আউটপুট প্রক্রিয়াজাত করার একটি উপায়।
বা কোনও পদ্ধতির আচরণ ( aroundইন্টারসেপ্টার ব্যবহার করে ) তবে আমি যা বুঝতে পারি তা থেকে ঝুঁকিপূর্ণ উপায়।

আমি মনে করি এটি ক্লাসের পুনর্লিখনগুলি যতটা সম্ভব এড়ানোর উপায় of
ম্যাজেন্টো 1.x এ, যদি আপনাকে কোনও পদ্ধতির ফলাফলটি সংশোধন করতে হয় তবে আপনার নিজের ক্লাসটি ও মেথডটিতে থাকা ওভাররাইড করতে হবে।
এখন আপনি কেবল ব্যবহার করতে পারেন before, afterবা aroundinterceptors খুব তথ্য নিপূণভাবে করতে।

পর্যবেক্ষকদের সাথে আপনি কোনও পদ্ধতির নির্দিষ্ট নির্দিষ্ট পয়েন্টগুলিতে ডেটা ম্যানিপুলেট করতে পারেন, সম্পূর্ণ পদ্ধতি নিজেই নয়।

আমার মতে, সম্ভব হলে পর্যবেক্ষকদের ব্যবহার করা এমনকি ম্যাজেন্টো 2 তেও কাস্টমাইজ করার জন্য সর্বোত্তম পন্থা।


2
একমত। বাধা নিচু স্তরের প্রক্রিয়া mechanism তবে এটি ইভেন্টগুলি প্রতিস্থাপন করে না। ইভেন্টগুলি উচ্চ স্তরের পরিষেবা সরবরাহকারী ইন্টারফেস সরবরাহ করে
আন্তন ক্রিল

6

বাধা ঘটনা ঘটনা বিবর্তন। এর লক্ষ্য হ'ল কোনও বিকাশকারীকে এক্সটেনশন পয়েন্টগুলির কথা চিন্তা না করে তার কোডটি লেখার অনুমতি দেওয়া।

ইভেন্টগুলির সাথে আপনাকে সেই জায়গাগুলি নিয়ে ভাবতে হবে যেখানে আপনি ম্যাজ করেন :: প্রেরণ ইভেন্ট () যাতে আপনার মডিউলটি অনুকূলিতকরণযোগ্য হয় be

বিরতি আপনাকে এই সম্পর্কে চিন্তা না করার অনুমতি দেয়। আপনি কেবল আপনার ব্যবসায়িক যুক্তি লিখুন। প্রতিটি পদ্ধতি কল একটি ইভেন্ট। সুতরাং আপনি যদি নিজের কোডটি কোনও সঠিক অবজেক্ট-ভিত্তিক উপায়ে লেখেন তবে এটি ডিজাইনের মাধ্যমে সম্পূর্ণ কাস্টমাইজযোগ্য হবে।

তবে ইভেন্টগুলি উচ্চ স্তরের পরিষেবা সরবরাহ করে ইন্টারফেস সরবরাহ করে যা ব্যবসায়িক ভাষায় কথা বলে। সুতরাং ইভেন্টগুলি ম্যাজেন্টো 2 এ থাকবে।


আপনি কি দয়া করে এই গুরুত্বপূর্ণ তথ্যটি ডিভডক্সে বিভ্রান্তির উত্স হিসাবে পেতে পারেন, বিশেষত আপনার দেখতে এম 2 তে এখনও অনেকগুলি ইভেন্ট রয়েছে। যদি আমরা জানি যে ইভেন্টগুলি মারা গেছে আমরা সেই অনুযায়ী কোড করতে পারি, আমি কোথাও দেখিনি যে এটি ডক্সে উল্লেখ করেছে। অন্যান্য ভাষায় ইভেন্টগুলি কখনও কখনও এবং অন্য সময়ে ইন্টারসেপ্টারগুলি ব্যবহার করার কারণ রয়েছে, আমি মনে করি আপনাকে স্পষ্ট করে বলা দরকার যে ম্যাজেন্টো 2 আলাদা।
ক্যারেন বাকের

5

বর্তমানে নির্দিষ্ট ইভেন্টগুলি শোনার বিকল্প রয়েছে এবং আমি সুপারিশ করব যে ইন্টারসেপ্টরগুলি পুনরায় লেখার জন্য কেবল একটি প্রতিস্থাপন। আপনার প্রয়োজনের জন্য যখন কোনও স্থানে আছে তখন আমি ইভেন্টগুলি ব্যবহার করব।

আপনি যদি বর্তমান প্রকাশের দিকে তাকান তবে কয়েকটি মডিউলে এমন events.xmlফাইল রয়েছে যা সংজ্ঞাগুলি অন্তর্ভুক্ত করে।

<event name="cms_wysiwyg_images_static_urls_allowed">
    <observer name="catalog_wysiwyg" instance="Magento\Catalog\Model\Observer"  />
</event>

ম্যাজেন্টো -২ এ সর্বশেষ সংস্করণ পর্যবেক্ষক প্যাটার্নটি পরিবর্তন করা হয়েছে ow এখন আপনার ইভেন্টস.এক্সএমএল এ পদ্ধতিটির বৈশিষ্ট্য ঘোষণা করার দরকার নেই, এটি স্বয়ংক্রিয়ভাবে এক্সিকিউট পদ্ধতিটি চালানো হবে, নিয়ামকের মতো same
কিউর শাহ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.