Questions marquées «dependency-injection»

Dénote des questions concernant l'injection de dépendances Magento 2

3
Quelle est la difference entre type et virtualType
Dans di.xmlMagento2, il existe un nœud typeet un nœud virtualType. Ma question est qu'est-ce que c'est virtualTypeet dans quel cas devrait-il être utilisé à la place de type? À certains endroits, cela ressemble à un lien symbolique ou à une réécriture: <virtualType name="Magento\Core\Model\Session\Storage" type="Magento\Framework\Session\Storage"> Lorsqu'un chemin complet est modifié en …


5
Instanciation des aides dans Magento 2
Les dernières versions de Magento 2 ont supprimé la Mageclasse. Cela signifie que nous avons perdu la Mage::helperméthode. Existe-t-il une technique de remplacement (usine d'assistance?) Pour instancier des assistants dans Magento 2? Ou devons-nous utiliser la nouvelle classe du gestionnaire d'objets et instancier simplement l'aide en tant qu'objet singleton / …

2
Magento 2: quel est le paramètre constructeur $ data array?
J'ai donc remarqué que dans la plupart des modèles et des blocs, ce array $data = []paramètre est le dernier paramètre du constructeur . Par exemple \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
Bonnes pratiques Magento 2 DI
Disons que je construis une extension Magento 2 qui fait ... eh bien ... pas important. Disons que ça fait des trucs super géniaux. Mais je veux m'assurer que c'est construit en utilisant les normes appropriées afin que d'autres développeurs puissent l'étendre. Quand dois-je utiliser la DI en combinaison avec …




2
Magento 2: utiliser l'instruction ou le chemin de classe direct?
Je manque peut-être un point, mais je me demande simplement pourquoi il existe parfois une instruction "use" pour une classe spécifique et parfois nous ne le faisons pas. Exemple:, app\code\Magento\Email\Model\Template.phpnous avons en haut du fichier: namespace Magento\Email\Model; use Magento\Store\Model\ScopeInterface; use Magento\Store\Model\StoreManagerInterface; Ensuite, dans la __constructméthode, nous avons les paramètres suivants: …

3
Comment remplacer la classe Virtual Type dans Magento 2
Comment remplacer le bloc VirtualType dans Magento 2, je veux remplacer le bloc de type virtuel suivant par mon propre bloc, <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> J'ai donc essayé de le remplacer à partir de mon module personnalisé di.xmlcomme celui-ci, <preference for="Magento\Catalog\Block\Product\ListProduct" type="My\Vendor\Block\Product\ListProductSearch" /> Mais ça …

5
Pourquoi ne puis-je pas injecter ProductRepositoryInterface dans Magento 2?
J'ai une action de contrôleur dans laquelle je voudrais injecter le référentiel produit 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; } Peu …


2
Pourquoi certaines classes définissent les injections à la fois dans leur constructeur et dans di.xml?
Je ne comprends pas pourquoi, dans certaines classes, leurs injections de dépendances sont déclarées deux fois - une fois dans le di.xmlconstructeur de la classe concrète. Par exemple dans Magento\Backend\Model\Url, son di.xmla cet ensemble de types pour DI défini: <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> …



En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.