ম্যাজেন্টো 2: ইন্টারসেপ্টর উত্পাদন করা থেকে ক্লাসগুলি বাদ দিন


9

ম্যাজেন্টো 2 এ (বিটা 9 এবং উপরে) আপনি এই কমান্ডটি চালাতে পারেন এবং আপনার ম্যাজেন্টো উদাহরণস্বরূপ আপনার সমস্ত শ্রেণীর জন্য ফোল্ডারে সমস্ত php bin/magento setup:di:compileইন্টারসেপ্টর, কারখানা এবং প্রক্সিগুলি (এবং সম্ভবত অন্যরা) তৈরি করা হবে var/generation
এটি লাইভ এনভায়রনমেন্টের জন্য দরকারী কারণ অন্যথায় উপরে বর্ণিত ক্লাসগুলি রানটাইমের সময় তৈরি হবে যখন তাদের প্রয়োজন হবে এবং কার্য সম্পাদনকে প্রভাবিত করতে পারে।
এই স্ক্রিপ্ট থেকে কিছু ক্লাস বাদ দেওয়ার কোনও উপায় আছে যাতে কমান্ডটি চালানোর সময় ইন্টারসেপ্টর তৈরি করা যায় না?
উদাহরণ হিসাবে: আমি নিয়ামকের Magento\Backend\Controller\Adminhtml\Dashboard\RefreshStatisticsকাছে চাই যে ইন্টারসেপ্টর তৈরি না হয়।


আপনার এটার দরকার কেন?
আন্তন ক্রিল

@AntonKril। প্রশ্ন জিজ্ঞাসা বন্ধ করুন এবং আমাকে একটি সমাধান দিন: ডি। এখন গুরুত্ব সহকারে, আমি কয়েকটি মডিউল সরিয়ে দেওয়ার চেষ্টা করছি এবং এটি করার সময় setup:di:compileব্যর্থ হয় কারণ কিছু প্যারেন্ট ক্লাস অনুপস্থিত। এই অনুপস্থিত শ্রেণিগুলিকে প্রসারিত ক্লাসগুলি এখনও বিদ্যমান তবে সেগুলি অ্যাপ্লিকেশন দ্বারা ব্যবহৃত হয় না। এবং সেগুলি আমার প্রয়োজনীয় মডিউলে থাকার কারণে আমি এগুলি সরাতে পারি না। নীচে সম্পূর্ণ ব্যাখ্যার জন্য দেখুন: magento.stackexchange.com/questions/69040/…
মারিয়াস

উত্তর:


7

কমপক্ষে পূর্ববর্তী সংস্করণগুলিতে ক্লাইম থেকে চালানোর জন্য exclude-patternপ্যারামিটার রয়েছে। কোনও ক্লাসের ক্যান্ট সঠিকভাবে প্রক্রিয়াজাত করা যায় এমন সমস্যা এড়াতে এটি যুক্ত করা হয়েছিল, যেমনটি ম্যাজেন্টো 1 ক্লাসের সাথে উদাহরণস্বরূপ ঘটে। কমান্ড এবং আর্গুমেন্টগুলি কনসোল কমান্ডগুলিতে রূপান্তর করে পরিবর্তিত হতে পারে।

তবে আপনার লক্ষ্যটি কী তা আমি নিশ্চিত নই, সুতরাং এটি ব্যবহারের ভাল সমাধান হলে আমি বলতে পারছি না।


এখানে আমি যা করার চেষ্টা করছি। আমি কতদূর যেতে পারি তা দেখতে আমি কিছু মডিউল সরিয়ে দিচ্ছি। এই মডিউলগুলির মধ্যে Reportমডিউলটি রয়েছে। তবে রিপোর্টস এবং ব্যাকএন্ড মডিউলের মধ্যে শক্ত সংযোগের কারণে ব্যাকএন্ড মডিউলে এখনও ক্লাস রয়েছে যা রিপোর্ট মডিউল শ্রেণীর উপর নির্ভর করে। এগুলি ব্যবহার না করার জন্য আমি একটি উপায় খুঁজে পেয়েছি, তবে ডি কমান্ড ফাইলগুলি পার্স করার পরে এটি "উপেক্ষা করা" শ্রেণীর মধ্য দিয়ে যায় এবং ইন্টারসেপ্টরগুলি তৈরি করার চেষ্টা করে। তবে এটি ব্যর্থ হয়েছে কারণ Magento\Backend\Controller\Adminhtml\Dashboard\RefreshStatisticsউদাহরণস্বরূপ পিতামাত্ত শ্রেণীর অস্তিত্ব নেই। সুতরাং এটি বাদ দেওয়ার জন্য আমার একটি উপায় দরকার।
মারিয়াস

এটি seams করে যে কনসোল কমান্ডের পদ্ধতির মধ্যে কোনও exclude-patternপ্যারাম নেই। বা কমপক্ষে আমি এটি খুঁজে পাইনি। আমি ভিতরে তাকান DiCompileCommand::configure
মারিয়াস

আমি দেখতে পাচ্ছি, আপনি এই পিআর-কে এই কার্যকারিতাটির জন্য জিজ্ঞাসা করে একটি সমস্যা যুক্ত করতে পারেন: github.com/magento/magento2/pull/986 অথবা আপনি কীভাবে এটি আপনার স্থানীয় বিল্ডের জন্য অস্থায়ীভাবে যুক্ত করবেন তা পরীক্ষা করতে সেখানে পরিবর্তনটি ব্যবহার করেন।
ফ্লাইংম্যানা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.