কোন ক্ষেত্রে আমাদের এই কমান্ডটি চালানো দরকার magento setup:di:compile
?
pub/static
কোন ক্ষেত্রে আমাদের এই কমান্ডটি চালানো দরকার magento setup:di:compile
?
pub/static
উত্তর:
মোতায়েনের সময় (যেমন যখন উত্পাদন পদ্ধতিতে কোনও সিস্টেমে পরিবর্তন করা হয়েছিল)
নোট করুন যে উত্পাদন মোডে (সংস্করণ 2.0.5 এবং তার আগের) আপনার অবশ্যই "মাল্টি-টেন্যান্ট" সংকলনটি ব্যবহার করতে পারেন। ২.০..6 এবং তারপরে স্থির।
bin/magento setup:di:compile-multi-tenant
দেখুন: http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-compiler.html
আপনি ডেভলপমেন্ট মোডে সংকলনও ব্যবহার করতে পারেন, যা সাইটের গতি বাড়িয়ে তুলবে, তবে অন্যদিকে এটি উন্নয়নকে ধীর করে দেয়, কারণ আপনার bin/magento setup:di:compile
প্রতিবার নির্ভরতা (কনস্ট্রাক্টর প্যারামিটার) বা বিদ্যমান শ্রেণীর পরিবর্তিত নির্ভরতা সহ নতুন ক্লাস যুক্ত করার সময় আপনাকে চালনা করতে হবে ।
এটি alচ্ছিক এবং এটি সম্ভবত একটি ভাল ধারণা নয়। আপনি যদি ইতিমধ্যে আপনার বিকাশের পরিবেশে সংকলনটি চালিয়ে যান তবে ফাইলগুলি var/di
অক্ষম করতে মুছুন ।
var/generation
?
Action
পরীক্ষা করার জন্য একটি তৈরি করেছেন । - পৃষ্ঠাটি লোড হয়েছে, ত্রুটি। - মোছা di
এবং generation
ফোল্ডারগুলি, পুনরায় লোড করা, কাজ করে। - নতুন নির্ভরতা যুক্ত করুন, পৃষ্ঠাটি পুনরায় লোড করুন, ত্রুটি। তবে কোনও di
ফোল্ডার তৈরি করা হয় না। - generation
আবার মুছুন , পুনরায় লোড করুন, কাজ করে। উপসংহার: নির্ভরতা যুক্ত করার পরে প্রজন্মের ফোল্ডারটি মুছুন এবং আপনাকে চালাতে হবে না setup:di:compile
। যদি অন্য কেউ এটি নিশ্চিত করতে পারত তবে তা দুর্দান্ত।
অন্য উত্তরে আমার মন্তব্য অনুসারে:
আপনি পৃষ্ঠাটি পুনরায় লোড করার আগেsetup:di:compile
কেবলমাত্র var/di
এবং var/generation
ফোল্ডারগুলি মুছে ফেলার মাধ্যমে প্রতিবারের মতো চাপ যোগ করার পরে আপনি কমান্ডটি চালানো এড়াতে পারবেন ।
আমার নিজের পরীক্ষাগুলি থেকে, ম্যাজেন্টো var/generation
ফোল্ডারটি পুনরায় তৈরি করবে , তবে var/di
ফোল্ডারটি setup:di:compile
আবার না চালানো পর্যন্ত নয় । এর অর্থ আপনার var/generation
মুছতে মুছতে কেবল ফোল্ডারটি থাকা উচিত ।
অদ্ভুতভাবে যথেষ্ট, এটি সঙ্গে কাজ করে pub/static/*
এবং setup:static-content:deploy
। এটি কারণ ম্যাজেন্টো সিএলআইয়ের পরিবর্তে পৃষ্ঠা পুনরায় লোড দ্বারা স্ট্যাটিক সামগ্রী তৈরি করে থাকলে প্রয়োজনীয় ফাইলগুলিতে সিমলিঙ্ক তৈরি করে বলে মনে হচ্ছে।
আমাদের অফিসের লোকেরা ম্যাকের জন্য ডকার ব্যবহার করার সময় উপরের কমান্ডগুলি চালাতে সমস্যা হচ্ছিল। ফাইল প্রক্রিয়াজাতকরণটি খুব ধীর ছিল। উপরের পদক্ষেপগুলি ব্যবহার করে, উন্নয়নটি আরও দ্রুত হওয়া উচিত।
উত্পাদনে বা ডিফল্ট মোডে আসার পরে এটি কাজ করবে না এটি সম্ভবত সবচেয়ে ভাল। এটি কেবল উন্নয়নের জন্য। ফ্যাবিয়ান শেমংলার দ্বারা উল্লিখিত হিসাবে, প্রাথমিক পৃষ্ঠা পুনরায় লোড স্বাভাবিকের চেয়ে ধীর হবে তবে চলমান setup:static-content:deploy
বা `সেটআপ: ডি: সংকলনের মতো ধীর হওয়া উচিত নয় ।
রেফারেন্সের জন্য, আমি সংস্করণ 2.1.5 চালাচ্ছি ।
অ্যালান স্টর্মের ব্লগ থেকে নেওয়া ।
নির্ভরতা ইনজেকশন সংকলন
শুরু করার জন্য, আমাদের এই আদেশগুলি সমাধান করার চেষ্টা করছে সেই সমস্যাটি ব্যাখ্যা করা উচিত। আপনি যখন ম্যাজেন্টো 2 সিস্টেম উত্পাদনে প্রেরণ করবেন তখন আপনাকে নিম্নলিখিত কমান্ডটি চালানো দরকার
php bin/magento setup:di:compile
এই কমান্ডটি আপনার সিস্টেমে কোডের মাধ্যমে স্ক্যান করে এবং বেশ কয়েকটি জিনিস প্রাক-উত্পন্ন করে (বেশিরভাগ অবজেক্ট ম্যানেজার সিস্টেম এবং নির্ভরতা ইনজেকশনের সাথে সম্পর্কিত) যা আপনি যখন বিকাশকারী মোডে চলছেন তখন গতিশীলভাবে লোড হয়। এটি উভয়ই পারফরম্যান্স এবং সুরক্ষা বিষয়, এবং এটিকে পুরোপুরি আলোচনা করা এই নিবন্ধের আওতার বাইরে beyond