ম্যাজেন্টো 2: প্লাগইন বনাম পর্যবেক্ষক


27

ম্যাজেন্টো 2-তে, কোনও অর্জনের জন্য কোনও পর্যবেক্ষক বনাম একটি প্লাগইন ব্যবহার করার পক্ষে কি কি?

আমি বুঝতে পারি যে পর্যবেক্ষকরা ইভেন্টগুলিতে সাবস্ক্রাইব হয়েছেন যেখানে প্লাগইনগুলি ম্যাজেন্টো ক্লাসে ডাকা যাওয়ার আগে এবং / অথবা কোনও পাবলিক পদ্ধতির পরে ঝাঁপিয়ে পড়তে পারে, তবে তারা এখন পাথ পার হওয়ার খুব কাছে চলে আসছে?


পর্যবেক্ষক খুব সীমাবদ্ধ তবে প্লাগইন আপনি সমস্ত পাবলিক ফাংশনের জন্য পরিবর্তনগুলি করেন
প্রদীপ কুমার

উত্তর:


42

সিস্টেমে যে কোনও পাবলিক পদ্ধতির আচরণ পরিবর্তন / প্রতিস্থাপন করা সম্ভব হওয়ায় প্লাগইন সর্বব্যাপী। কাস্টমাইজেশন @apiযখনই সম্ভব সম্ভব সরকারী পদ্ধতি / টীকা (স্থিতিশীল পাবলিক এপিআই) দিয়ে চিহ্নিত ক্লাসের জন্য প্লাগইন ব্যবহার করে করা উচিত । এই জাতীয় পদ্ধতির গ্যারান্টি দেয় যে নতুন ম্যাজেন্টো প্রকাশের পরে কাস্টমাইজেশন কার্যকর থাকবে। প্রশ্নে উল্লিখিত before/ afterপ্লাগইনগুলি ছাড়াও , aroundআসল আচরণের বিকল্প হিসাবে প্লাগইন তৈরি করা সম্ভব ।

অন্যদিকে, পর্যবেক্ষকরা ম্যাজেন্টো 1 থেকে উত্তরাধিকারসূত্রে উত্তরাধিকার সূত্রে প্রাপ্ত উত্তরাধিকার ব্যবস্থা, এটি বেশ সীমাবদ্ধ এবং সম্ভব হলে এটি এড়ানো উচিত। তবে, প্লাগইনগুলির বিপরীতে, তারা সুরক্ষিত / ব্যক্তিগত পদ্ধতিতে এক্সটেনশন পয়েন্ট সরবরাহ করতে পারে।


পছন্দগুলি বনাম প্লাগইন / পর্যবেক্ষক সম্পর্কে কথা বলার উত্তরে একবার দেখুন: magento.stackexchange.com/a/94035/697 , দরকারী হতে পারে।
অ্যালেক্স পালিয়ারুশ

@ অ্যালেক্স: - সুরক্ষিত ফাংশনটির জন্য প্লাগইন কীভাবে লিখব, বেশিরভাগ ক্ষেত্রে আমাদের সেই পরিস্থিতিতে সুরক্ষিত ফাংশনটি ওভাররাইড করা দরকার কীভাবে এটি করা যায়? magento.stackexchange.com/questions/91353/…
প্রদীপ কুমার

@ প্রদীপ কুমার প্লাগইনগুলি কেবল সর্বজনীন পদ্ধতিতে যুক্ত করা যেতে পারে। আপনার উল্লিখিত প্রশ্নের উত্তর রয়েছে, তবে প্রস্তাবিত সমাধানটি অবরুদ্ধ তবে জ্ঞাত সমস্যা (প্লাগইনগুলি ভার্চুয়াল ধরণের ক্ষেত্রে প্রয়োগ করা যাবে না)। অস্থায়ী কর্মক্ষেত্র হিসাবে আপনি ফ্রেমওয়ার্ক ইউআরএল বর্গের জন্য প্লাগইন ঘোষণা করতে পারেন এবং সেখানে যুক্তিগুলির ভিত্তিতে শর্তযুক্ত যুক্তি যুক্ত করতে পারেন (যাতে প্লাগইনটি কেবল আপনার ক্ষেত্রে কিছু করে)
অ্যালেক্স পালিয়ারুশ

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

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

1

ম্যাজেন্টোর কারিগরি গাইড অনুসারে ( https://devdocs.magento.com/guides/v2.1/coding-standards/technical-guidlines.html#14-events ): একটি ইভেন্টে সমস্ত মান (অবজেক্টস সহ) পাস হওয়া উচিত নয় ইভেন্ট পর্যবেক্ষক সংশোধিত। পরিবর্তে, কোনও ফাংশনের ইনপুট বা আউটপুট পরিবর্তন করার জন্য প্লাগইনগুলি ব্যবহার করা উচিত।

আমার জন্য প্লাগইন এবং পর্যবেক্ষকদের মধ্যে প্রধান পার্থক্য:

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

আমি ঠিক থাকলেও একজন পর্যবেক্ষকের সাথে অর্ডার আপডেট করতে পারি?
রবি এভারিল

@ রবিবিভারিল হ্যাঁ, আপনি checkout_submit_all_afterইভেন্টের জন্য একটি পর্যবেক্ষক তৈরি করতে পারেন । সফলভাবে অর্ডার দেওয়ার পরে আপনার পর্যবেক্ষক ট্রিগার হবে।
ট্রান্সভারসাস

তার মানে কি এই যে "তারা ডেটা সংশোধন করে না" সত্য নয়?
রবি অ্যাভারিল

1
হ্যাঁ আপনি সঠিক @ রবিএভারিল দুটি প্লাগইন এবং পর্যবেক্ষক উভয়ই ডেটা পরিবর্তন করতে পারবেন। আমার জন্য প্লাগইন এবং পর্যবেক্ষকের মধ্যে মূল পার্থক্য হ'ল: ১. প্লাগইনগুলি কেবল সর্বজনীন পদ্ধতি পরিবর্তন করতে পারে যখন পর্যবেক্ষকরা ব্যক্তিগত, সুরক্ষিত পাশাপাশি সংশোধন করতে পারবেন। ২. প্লাগইনগুলির জন্য সাজানোর ক্রম রয়েছে তবে পর্যবেক্ষকদের জন্য কোনও সাজানোর অর্ডার নেই। ৩. আপনি কেবলমাত্র ইভেন্টগুলিতে পর্যবেক্ষক যুক্ত করতে পারেন যা ইতিমধ্যে ম্যাজেন্টোতে প্রেরণ করা হয়েছে। প্লাগিনগুলি এখানে আরও নমনীয়।
ট্রান্সভারসাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.