فهم استبدال حجة مدير الكائن باستخدام دي.شمل للأوامر
-
28-09-2020 - |
سؤال
أنا أتابع استبدال وسيطة مدير الكائن البرنامج التعليمي.واحدة من دي ممكن.شمل يشبه
<type name="Pulsestorm\TutorialObjectManagerArguments\Model\Example">
<arguments>
<argument name="scaler1" xsi:type="string">bar</argument>
</arguments>
</type>
وهو ما يعني في النموذج Example
منشئ الطبقة ، استبدال (مهما كانت قديمة) قيمة الوسيطة $scaler1
مع bar
.
بينما بالنسبة للأوامر يبدو
<type name="Magento\Framework\Console\CommandList">
<arguments>
<argument name="commands" xsi:type="array">
<item name="testbedCommand" xsi:type="object">Pulsestorm\TutorialObjectManagerArguments\Command\Testbed</item>
</argument>
</arguments>
</type>
الذي يقول إضافة 1 عنصر جديد (الأمر) في CommandList
حجة المنشئ commands
(وهو من نوع مجموعة).
لا أرى استخدام الاسم testbedCommand
في أي مكان في الوحدة.ماذا سيكون استخدامه ?يجب أن تكون فريدة من نوعها?
المحلول
لا يتم استخدام اسم العنصر في الماجنتو \ الإطار \ وحدة التحكم \ قائمة الأوامر.إذا نظرت إلى هذه الفئة ، يمكنك أن ترى ، يتم استخدام القيم فقط ، ولكن مفاتيح الصفيف متوفرة أيضا.
إذا قمت بتعريف في الوحدة النمطية الخاصة بك نفس النوع وبنفس اسم عنصر الوسيطة:
<type name="Magento\Framework\Console\CommandList">
<arguments>
<argument name="commands" xsi:type="array">
<item name="testbedCommand" xsi:type="object">Your\Module\Command\Testbed</item>
</argument>
</arguments>
</type>
وأنت وحدة يذهب بعد بولستورم \ توتوريالوبجكتماناجيراغومنتس ، ثم كما حجة سوف تحصل على القيمة الخاصة بك:
<argument name="commands" xsi:type="array">
<item name="testbedCommand" xsi:type="object">Your\Module\Command\Testbed</item>
</argument>