ম্যাজেন্টো 2 এ এমন অনেকগুলি ক্লাস ফাইল রয়েছে যা হয় প্রাক-উত্পন্ন, বা ফ্লাইতে উত্পন্ন হয়। তারা বাস করে
var/generated
এই উত্পন্ন ফাইলগুলির মধ্যে কারখানার ক্লাস অন্তর্ভুক্ত রয়েছে। ডকুমেন্টেশন থেকে , এটি আমার বুঝতে পেরেছে যে একজন প্রোগ্রামার "অ-ইনজেক্টেবল" অবজেক্টগুলিকে ইনস্ট্যান্ট করতে কারখানার ক্লাস ব্যবহার করে। একটি "ইনজেকশনযোগ্য" অবজেক্ট এমন একটি বস্তু যা নির্ভরতা ইনজেকশনের মাধ্যমে যুক্ত করা যায় না__constructor
, সাধারণত এটি তাত্ক্ষণিকভাবে ব্যবহারকারীর ইনপুট প্রয়োজন।
ডকুমেন্টেশন থেকে যা পরিষ্কার নয় তা হ'ল ম্যাজেন্টো 2 কীভাবে জানে যে কারখানার শ্রেণি তৈরি করা দরকার to এই বিট
যদি রান-টাইম মোড বা সংকলকটিতে অবজেক্ট ম্যানেজারের দ্বারা অস্তিত্বহীন কারখানার মুখোমুখি হয় তবে অবজেক্ট ম্যানেজারটি কারখানাটি তৈরি করে।
এটিকে শোনায় যদি আমি অবজেক্ট ম্যানেজারে কারখানার শ্রেণি ব্যবহার করি (বা এক্সটেনশন দ্বারা নির্ভরতা ইনজেকশন __ কনস্ট্রাক্টরে), যে ম্যাজেন্টো 2 এটি আমার জন্য উত্পন্ন করবে। তবে কীভাবে অবজেক্ট ম্যানেজারটি জানবে যে আমি অনুরোধ করছি তা একটি কারখানা?
এছাড়াও, সমস্ত উত্পন্ন ক্লাস স্বয়ংক্রিয়ভাবে উত্পন্ন (বা "সংকলন") করার জন্য দুটি আদেশ রয়েছে বলে মনে হচ্ছে । এই কমান্ডগুলির মধ্যে দুটি চালনা বিপুল সংখ্যক কারখানার ক্লাস তৈরি করে। এই কমান্ডগুলি প্রয়োজনীয় ফ্যাক্টরি অবজেক্ট তৈরি করতে কোন কনফিগারেশন এবং / অথবা কোড ফাইলগুলি দেখছে?
আমি জানি যে অবজেক্ট ম্যানেজার এবং / অথবা কমান্ড কোডটি পুরোপুরি ডাউন করে ফেললে এটি প্রকাশিত হবে তবে আমি আশা করি দীর্ঘ এবং কষ্টকর যাত্রা এড়াতে হবে।