فهم استبدال حجة مدير الكائن باستخدام دي.شمل للأوامر

magento.stackexchange https://magento.stackexchange.com/questions/100461

  •  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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top