Preguntas etiquetadas con di

Denota preguntas relacionadas con la inyección de dependencia en Magento 2.

4
Magento 2: Ejecute `setup: di: compile` ** solo ** ¿un módulo específico?
¿Es posible pregenerar código para un módulo específico? IE: puedo generar todo el código en el sistema con php bin/magento setup:di:compile Sin embargo, esto puede llevar mucho tiempo. Me gustaría generar previamente solo los archivos para un módulo específico. php bin/magento setup:di:compile Pulsestorm_Commercebug El problema específico que estoy tratando de …
33 php  magento2  di 

2
Magento 2: ¿cuál es el parámetro constructor de matriz de datos $?
Entonces noté que en la mayoría de los modelos y bloques, esto se array $data = []da como el último parámetro del constructor . Por ejemplo \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 …

2
¿Cuáles son todos los valores permitidos de `xsi: type` en los xml de Magento2
En Magento 2 (casi) todos los argumentos enumerados en los archivos xml tienen un atributo xsi:typeque determina cómo se interpreta el valor del argumento. Por ejemplo, en el di.xmlarchivo del módulo de fondo hay esto: <argument name="scopeType" xsi:type="const">Magento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT</argument> Esto significa que el valor del argumento scopeTypees el valor de la …
20 magento2  xml  di 


2
Magento 2: uso de declaración versus ruta de clase directa?
Puede que me esté perdiendo un punto, pero me pregunto por qué a veces hay una declaración de "uso" para una clase específica y otras no. Ejemplo: app\code\Magento\Email\Model\Template.phptenemos en la parte superior del archivo: namespace Magento\Email\Model; use Magento\Store\Model\ScopeInterface; use Magento\Store\Model\StoreManagerInterface; Luego en el __constructmétodo tenemos los siguientes parámetros: public function …


2
¿Por qué algunas clases definen inyecciones tanto en su constructor como en di.xml?
No entiendo por qué, en algunas clases, sus inyecciones de dependencia se declaran dos veces, una en di.xmly en el constructor de la clase concreta. Por ejemplo Magento\Backend\Model\Url, di.xmltiene definido este conjunto de tipos para DI: <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"> …

1
¿Cómo habilitar / deshabilitar dinámicamente <preferencia> en di.xml?
Actualmente tengo lo siguiente &lt;preference/&gt;en uno de mis archivos di.xml: &lt;preference for="Magento\Contact\Controller\Index\Post" type="RadTest\TestModule\Controller\Contact\Post" /&gt; Tengo una opción de configuración para habilitar / deshabilitar mi módulo en el panel de administración. Solo quiero &lt;preference&gt;que esté habilitado cuando mi opción de configuración personalizada esté habilitada. ¿Cómo puedo habilitar y deshabilitar dinámicamente la …

1
El propósito de las interfaces de verbos http
En Magento 2.3 hay algunas interfaces para todos los verbos http Magento\Framework\App\Action\HttpPostActionInterface Magento\Framework\App\Action\HttpGetActionInterface, ... Todos ellos están vacíos e implementados Magento\Framework\App\ActionInterface. También descubrí que todos ellos están asignados app/etc/di.xmla un parámetro de Magento\Framework\App\Request\HttpMethodMapy muchos de los controladores implementan estas interfaces. Pero no todos los controladores. Eso es todo lo que …

2
di.xml tipo constante vs parámetro_inicial
Veo en los di.xmlarchivos del núcleo que algunos de los argumentos tienen el tipo, init_parameterpero los valores de los parámetros son constantes. &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; o este &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; y muchos otros. Pero por lo que veo en el …
8 magento2  di 

2
Molesto por toneladas de clases para DI en constructores de Magento 2, ¿hay una mejor manera?
En este momento estoy molesto de escribir constructores similares en masa como los siguientes en mis módulos. 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 no admite la inyección de dependencia en rasgos?
¿Los rasgos realmente funcionan con la inyección de dependencia en Magento? Considere el siguiente código: Clase de rasgo 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; } } Clase usando el rasgo namespace Frame\Slick\Block; class Product ListProduct implements BlockInterface …
8 magento2  php  di 
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.