Perguntas com a marcação «dependency-injection»

Denota questões relacionadas à injeção de dependência do Magento 2

3
Qual é a diferença entre type e virtualType
No di.xmlque vem com o Magento2, há um nó typee um nó virtualType. Minhas perguntas é o que é isso virtualTypee, em que caso deve ser usado em vez de type? Em alguns lugares, parece um link simbólico ou reescreve: <virtualType name="Magento\Core\Model\Session\Storage" type="Magento\Framework\Session\Storage"> Onde um caminho completo é alterado para …


5
Instanciando ajudantes no Magento 2
As últimas versões do Magento 2 acabaram com a Mageclasse. Isso significa que perdemos o Mage::helpermétodo. Existe uma técnica de substituição (fábrica de auxiliares?) Para instanciar ajudantes no Magento 2? Ou devemos usar a nova classe do gerenciador de objetos e instanciar o auxiliar como um objeto singleton / em …

2
Magento 2: qual é o parâmetro construtor $ data array?
Então eu notei que na maioria dos modelos e blocos, existe esse array $data = []dado como o último parâmetro do construtor . Por exemplo \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
Melhores práticas do Magento 2 DI
Digamos que eu estou construindo uma extensão Magento 2 que faz ... bem ... não é importante. Digamos que ele faça coisas super impressionantes. Mas quero garantir que isso seja construído usando os padrões adequados para que outros desenvolvedores possam estendê-lo. Quando devo usar o DI em combinações com interfaces …




2
Magento 2: usar declaração versus caminho direto da classe?
Eu posso estar perdendo um ponto, mas estou me perguntando por que às vezes há uma instrução "use" para uma classe específica e às vezes não. Exemplo app\code\Magento\Email\Model\Template.php:, temos no topo do arquivo: namespace Magento\Email\Model; use Magento\Store\Model\ScopeInterface; use Magento\Store\Model\StoreManagerInterface; Então, no __constructmétodo, temos os seguintes parâmetros: public function __construct( \Magento\Framework\Model\Context …

3
Como substituir a classe Tipo virtual no Magento 2
Como substituir o bloco VirtualType no Magento 2, desejo substituir o seguinte bloco virtual por meu próprio bloco, <virtualType name="Magento\CatalogSearch\Block\SearchResult\ListProduct" type="Magento\Catalog\Block\Product\ListProduct"> <arguments> <argument name="catalogLayer" xsi:type="object">Magento\Catalog\Model\Layer\Search</argument> </arguments> </virtualType> Então, eu tentei substituí-lo do meu módulo personalizado di.xmlassim, <preference for="Magento\Catalog\Block\Product\ListProduct" type="My\Vendor\Block\Product\ListProductSearch" /> Mas não funciona. Então, qual é a maneira correta de …

5
Por que não posso injetar o ProductRepositoryInterface no Magento 2?
Eu tenho uma ação de controlador na qual gostaria de injetar o repositório do produto namespace Nosto\Tagging\Controller\Export; use Magento\Catalog\Api\ProductRepositoryInterface; use Magento\Store\Model\StoreManagerInterface; use Magento\Backend\App\Action; use Magento\Framework\App\Action\Context; class Test extends Action { private $_productRepository; public function __construct( Context $context, StoreManagerInterface $storeManager, ProductRepositoryInterface $productRepository ) { parent::__construct($context); $this->_storeManager = $storeManager; $this->_productRepository = $productRepository; …


2
Por que algumas classes definem injeções no construtor e no di.xml?
Não entendo por que, em algumas classes, suas injeções de dependência são declaradas duas vezes - uma vez no di.xmlconstrutor da classe concreta e no. Por exemplo Magento\Backend\Model\Url, em , di.xmltem este conjunto de tipos para DI definido: <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 …

2
Como adiciono o número de rastreamento à remessa de pedidos atual no Magento 2?
Eu encontrei exemplos de códigos para o Magento 1.x. Mas não tenho ideia de como fazer isso no Magento 2. Alguém pode descrever como implementar isso usando injeção de dependência (DI) ? Obrigado. $trackingDetail = array( 'carrier_code' => 'ups', 'title' => 'United Parcel Service', 'number' => 'TORD23254WERZXd3', // Replace with …


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.