Als «di» getaggte Fragen

Bezeichnet Fragen zur Abhängigkeitsinjektion in Magento 2.


2
Magento 2: Was ist der $ data array constructor Parameter?
Daher habe ich festgestellt, dass in den meisten Modellen und Blöcken dies array $data = []als letzter Parameter des Konstruktors angegeben ist . Beispielsweise \Magento\Catalog\Block\Product\ListProduct public function __construct( \Magento\Catalog\Block\Product\Context $context, \Magento\Framework\Data\Helper\PostHelper $postDataHelper, \Magento\Catalog\Model\Layer\Resolver $layerResolver, CategoryRepositoryInterface $categoryRepository, \Magento\Framework\Url\Helper\Data $urlHelper, array $data = [] ) { $this->_catalogLayer = $layerResolver->get(); $this->_postDataHelper = $postDataHelper; …

2
Was sind die erlaubten `xsi: type` Werte in den xml's von Magento2?
In Magento 2 haben (fast) alle in XML-Dateien aufgelisteten Argumente ein Attribut xsi:type, das bestimmt, wie der Wert des Arguments interpretiert wird. In der di.xmlDatei des Backend-Moduls gibt es zum Beispiel Folgendes: <argument name="scopeType" xsi:type="const">Magento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT</argument> Dies bedeutet, dass der Wert des Arguments scopeTypeder Wert der Konstante istMagento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT oder dieses <argument …
20 magento2  xml  di 

4
Magento 2: Praktische Erklärung einer Proxy-Klasse
Ich weiß theoretisch, was eine Proxy-Klasse in Magento 2 ist. Ich habe den großartigen Alan Storm-Artikel darüber gelesen und verstehe vollkommen, wie diese Klassen generiert werden. Und ich weiß nicht, ob es daran liegt, dass ich kein englischer Muttersprachler bin oder ob Alan in seinen Erklärungen sehr abstrakte Nebenklassen verwendet. …

2
Magento 2: use statement versus direct class path?
Vielleicht fehlt mir ein Punkt, aber ich frage mich nur, warum es manchmal eine "use" -Anweisung für eine bestimmte Klasse gibt und manchmal nicht. Beispiel: app\code\Magento\Email\Model\Template.phpWir haben am Anfang der Datei: namespace Magento\Email\Model; use Magento\Store\Model\ScopeInterface; use Magento\Store\Model\StoreManagerInterface; Dann __constructhaben wir in der Methode die folgenden Parameter: public function __construct( \Magento\Framework\Model\Context …


2
Warum definieren einige Klassen Injektionen sowohl in ihrem Konstruktor als auch in di.xml?
Ich verstehe nicht, warum in einigen Klassen ihre Abhängigkeitsinjektionen zweimal deklariert werden - einmal im di.xmlund im Konstruktor der konkreten Klasse. Zum Beispiel in Magento\Backend\Model\Url, der di.xmlhat diesen Satz von Typen für DI definiert: <type name="Magento\Backend\Model\Url"> <arguments> <argument name="scopeResolver" xsi:type="object"> Magento\Backend\Model\Url\ScopeResolver</argument> <argument name="authSession" xsi:type="object"> Magento\Backend\Model\Auth\Session\Proxy</argument> <argument name="formKey" xsi:type="object"> Magento\Framework\Data\Form\FormKey\Proxy</argument> <argument …

1
Wie kann ich <präferenz> in di.xml dynamisch aktivieren / deaktivieren?
Ich habe derzeit Folgendes &lt;preference/&gt;in einer meiner di.xml-Dateien: &lt;preference for="Magento\Contact\Controller\Index\Post" type="RadTest\TestModule\Controller\Contact\Post" /&gt; Ich habe eine Konfigurationsoption zum Aktivieren / Deaktivieren für mein Modul im Admin-Bereich. Ich möchte &lt;preference&gt;, dass die Option nur aktiviert wird, wenn meine benutzerdefinierte Konfigurationsoption aktiviert ist. Wie kann ich das &lt;preference/&gt;Überschreiben dynamisch aktivieren und deaktivieren, je …

1
Der Zweck der http-Verben-Schnittstellen
In Magento 2.3 gibt es einige Schnittstellen für alle http-Verben Magento\Framework\App\Action\HttpPostActionInterface Magento\Framework\App\Action\HttpGetActionInterface, ... Alle von ihnen sind leer und implementiert Magento\Framework\App\ActionInterface. Ich fand auch heraus, dass alle von ihnen app/etc/di.xmleinem Parameter von zugeordnet sind Magento\Framework\App\Request\HttpMethodMapund viele der Controller diese Schnittstellen implementieren. Aber nicht alle Controller. Das ist alles, was ich …

2
Konstantentyp di.xml vs init_parameter
Ich sehe in den di.xmlDateien aus dem Kern, dass einige der Argumente den Typ haben, init_parameteraber die Werte der Parameter sind alle Konstanten. &lt;type name="Magento\Framework\View\Page\Config\Renderer"&gt; &lt;arguments&gt; &lt;argument name="appMode" xsi:type="init_parameter"&gt;Magento\Framework\App\State::PARAM_MODE&lt;/argument&gt; &lt;/arguments&gt; &lt;/type&gt; oder dieses &lt;type name="Magento\Framework\App\Cache\State"&gt; &lt;arguments&gt; &lt;argument name="banAll" xsi:type="init_parameter"&gt;Magento\Framework\App\Cache\State::PARAM_BAN_CACHE&lt;/argument&gt; &lt;/arguments&gt; &lt;/type&gt; und viele andere. Aber von dem, was ich in …
8 magento2  di 

2
Verärgert über Tonnen von Klassen für DI in Konstrukteuren von Magento 2 - gibt es einen besseren Weg?
Zu diesem Zeitpunkt ärgere ich mich darüber, in meinen Modulen massenhaft ähnliche Konstruktoren wie die folgenden zu schreiben. public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, /* ... */ \Foo\Bar\Model\Baz $baz, /* ... */ \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, array $data = [] ) { $this-&gt;registry = $registry; …

2
Magento 2 unterstützt die Abhängigkeitsinjektion in Merkmalen nicht?
Funktionieren Merkmale tatsächlich mit der Abhängigkeitsinjektion in Magento? Betrachten Sie den folgenden Code: Merkmalsklasse namespace Frame\Slick\Block; use Frame\Slider\Slick\Block\Data as Helper trait Slick { protected $_slickHelper; public function __construct(Helper $slickHelper) { $this-&gt;_slickHelper = $slickHelper; } } Klasse mit dem Merkmal namespace Frame\Slick\Block; class Product ListProduct implements BlockInterface { use Slick; public …
8 magento2  php  di 

3
Was ist die Verwendung des "Mapping" -Knotens in di.xml in Magento 2?
Ich benutze Magento 2.2.5 Schauen Sie sich die Datei an Hersteller \ magento \ module-sales \ etc \ di.xml &lt;type name="Magento\Payment\Model\Checks\SpecificationFactory"&gt; &lt;arguments&gt; &lt;argument name="mapping" xsi:type="array"&gt; &lt;item name="country" xsi:type="object"&gt;Magento\Payment\Model\Checks\CanUseForCountry&lt;/item&gt; &lt;item name="currency" xsi:type="object"&gt;Magento\Payment\Model\Checks\CanUseForCurrency&lt;/item&gt; &lt;item name="checkout" xsi:type="object"&gt;Magento\Payment\Model\Checks\CanUseCheckout&lt;/item&gt; &lt;item name="internal" xsi:type="object"&gt;Magento\Payment\Model\Checks\CanUseInternal&lt;/item&gt; &lt;item name="total" xsi:type="object"&gt;Magento\Payment\Model\Checks\TotalMinMax&lt;/item&gt; &lt;item name="zero_total" xsi:type="object"&gt;Magento\Payment\Model\Checks\ZeroTotal&lt;/item&gt; &lt;/argument&gt; &lt;/arguments&gt; &lt;/type&gt; Es gibt einen Knoten …

3
Magento 2: Verwendung von priceModifiers
Beim Durchsuchen des Codes des Moduls von magento 2.0.7 catalogrulesstieß ich auf eine Klasse Magento\CatalogRule\Model\Product\PriceModifier, die Magento\Catalog\Model\Product\PriceModifier\Compositeals Argument über di.xmldas catalogrulesModul an class übergeben wurde . Jetzt PriceModifierhat das eine Methode namens, modifyPricedie den vorhandenen Preis des Produkts übernimmt und mithilfe eines eigenen Mechanismus ändert und den neuen Preis zurückgibt. …

2
Was ist Abhängigkeitsinjektion in Magento 2?
Ich bin neu in Magento 2. Ich wollte wissen, was Abhängigkeitsinjektion in Magento 2 ist. Worum geht es in dem Konzept und wie wird es in unserem Framework verwendet? Ich habe diese Dokumentation verwiesen Aber ich habe das Konzept immer noch nicht richtig verstanden.
7 magento2  di 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.