«dependency-injection» etiketlenmiş sorular

Magento 2 Bağımlılık ekleme ile ilgili soruları belirtir

3
Type ve virtualType arasındaki fark nedir
Bunun di.xmliçinde Magento2 ile gelen bir düğüm typeve bir düğüm var virtualType. Sorum şu: Bu nedir virtualTypeve bunun yerine hangi durumda kullanılmalı type? Bazı yerlerde sembolik bir bağlantıya benziyor veya yeniden yazıyor: <virtualType name="Magento\Core\Model\Session\Storage" type="Magento\Framework\Session\Storage"> Bir tam yolun başka bir yere değiştiği ancak diğer yerlerde daha kısa bir diğer adı …

3
Magento'da Bir Fabrikanın Üretimini Tetikleyen Nedir?
Magento 2, önceden oluşturulmuş veya anında oluşturulmuş birkaç sınıf dosyası içerir. Yaşıyorlar var/generated Bu oluşturulan dosyalar fabrika sınıflarını içerir. Gönderen belgeler , bir programcı örneğini "olmayan enjektabl" nesnelere fabrika sınıflarını kullanan benim anladığıma. Bir "olmayan enjekte" nesne bir amacı olamaz yoluyla ilave edilebilir __constructorörneğini kullanıcı girişi gerektirir, çünkü genellikle, bağımlılık …

5
Magento 2'deki Yardımcının Örneklenmesi
Magento 2'nin en yeni yapıları, Magesınıfla birlikte ayrıldı. Bu, Mage::helperyöntemi kaybettiğimiz anlamına gelir . Magento 2'deki yardımcıları örneklemek için bir yedek teknik (yardımcı fabrika?) Var mı? Ya da yeni Object manager sınıfını kullanmamız bekleniyor ve yardımcısını get(vs. create) ile tekil / önbelleğe alınmış bir nesne olarak başlatmanız yeterli.

2
Magento 2: $ data array constructor parametresi nedir?
Ben en çok model ve bloklarda fark Yani, orada bu array $data = []yapıcı son parametre olarak verilen . Örneğin \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; $this->categoryRepository = $categoryRepository; $this->urlHelper …

2
Magento 2 DI en iyi uygulamaları
Diyelim ki bir Magento 2 uzantısı geliştiriyorum ... iyi ... önemli değil. Diyelim ki süper harika şeyler yapıyor. Ancak bunun diğer geliştiricilerin genişletebilmesi için uygun standartlar kullanılarak oluşturulduğundan emin olmak istiyorum. DI'yi arayüzlerle birlikte ne zaman kullanmalıyım ve ne zaman kullanmamalıyım? Burada açıklığa kavuşturmak temel bir örnektir. Sınıf Magento\Core\Helper\Databöyle bir …

4
Magento 2: Proxy sınıfı nedir pratik açıklama?
Yani, teorik olarak Magento 2'de bir proxy sınıfının ne olduğunu biliyorum. Bu konuda harika Alan Storm makalesini okudum ve bu sınıfların nasıl oluşturulduğunu tamamen anlıyorum. Ancak, bunun ana dili İngilizce olmayan biri olduğumu veya Alan'ın açıklamalarının çok soyut olan çekirdek olmayan sınıfları kullanıp kullanmadığını bilmiyorum, ancak nasıl çalıştığını ve özellikle …

3
Magento 2'de Soyut Sınıfa Yeni Bir Yöntem Ekleme
Konuyu der ki: Magento 2 soyut sınıf geçersiz kıl içinde Magento 1 , Tamamen yeni bir sınıf oluşturabilirim. Magento 2'de eklentileri kullanmamız gerekiyor, ancak eklentiler sadece var olan yöntemleri değiştirmeme izin veriyor. Yeni bir yöntem eklemek istersem ne yapmam gerekir? Misal: Bu sınıfın vendor/magento/module-ui/Component/AbstractComponent.phpbir bileşen dizisi $componentsvardır : o dizinin …

1
DI & Magento 2'de Blok Genişletme
Magento 2 bağımlılık enjeksiyonunu bloklarla kavramaya çalışıyorum, her seferinde \ Magento \ Framework \ View \ Element \ Template olmayan bir bloğu genişletmeye çalışıyorum . Magento \ Theme \ Block \ Html \ Header \ Logo'nun çok temel blok sınıfını genişleten bir blok oluşturmak istiyorum - construct yöntemi içinde bağımlılık …

2
Magento 2: deyimi doğrudan sınıf yoluna karşı kullan?
Bir noktayı kaçırıyor olabilirim ama neden bazen belirli bir sınıf için "kullan" ifadesi olduğunu merak ediyorum, bazen de bilmiyoruz. Örnek: app\code\Magento\Email\Model\Template.phpDosyanın en üstünde: namespace Magento\Email\Model; use Magento\Store\Model\ScopeInterface; use Magento\Store\Model\StoreManagerInterface; Sonra __constructyöntemde aşağıdaki parametreler var: public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\View\DesignInterface $design, \Magento\Framework\Registry $registry, \Magento\Store\Model\App\Emulation $appEmulation, StoreManagerInterface $storeManager, \Magento\Framework\View\Asset\Repository $assetRepo, \Magento\Framework\Filesystem …

3
Magento 2'de Sanal Tip sınıfını geçersiz kılma
Magento 2'de VirtualType bloğunu geçersiz kılmak için, kendi bloğumla aşağıdaki sanal tip bloğunu geçersiz kılmak istiyorum, <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> Bu yüzden di.xmlböyle özel modülümden geçersiz kılmaya çalıştım , <preference for="Magento\Catalog\Block\Product\ListProduct" type="My\Vendor\Block\Product\ListProductSearch" /> Ama bu çalışmıyor. Peki, Magento 2'de bir sanal tip sınıfını geçersiz kılmanın …

5
Magento 2'ye neden ProductRepositoryInterface enjekte edemiyorum?
Ürün deposunu enjekte etmek istediğim bir denetleyici eylemim var 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; } Yapıcı argümanlarımı hangi sıraya koyarsam …

3
Bağımlılıkların Magento 2 CRUD / Abstract Modeline Enjekte Edilmesi
Magento 2 CRUD modeline bağımlılık enjekte etmek mümkün müdür? Yani - Magento 2 baz soyut bir model sınıfı vardır: Magento\Framework\Model\AbstractModel. Basit bir Oluşturma, Okuma, Güncelleme, Silme modeli nesnesi oluşturmak istiyorsanız, bu sınıfı kendi sınıfınızla genişletirsiniz. class Foo extends Magento\Framework\Model\AbstractModel { } Modelinizin __constructyöntemine bağımlılıklar eklemek mümkün mü ? Denediğimde, aşağıdaki …

2
Neden bazı sınıflar hem yapıcılarında hem de di.xml dosyasında enjeksiyon tanımlamaktadır?
Bazı sınıflarda, bağımlılık enjeksiyonlarının neden iki kez beyan edildiğini anlamıyorum - bir kez di.xmlsomut sınıfın yapıcısında ve içinde. Örneğin içinde Magento\Backend\Model\Url, di.xmlDI için tanımlanan bu tipler kümesi vardır: <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 name="scopeType" xsi:type="const"> Magento\Store\Model\ScopeInterface::SCOPE_STORE </argument> <argument name="backendHelper" …

2
Magento 2'deki mevcut sipariş gönderimine nasıl takip numarası ekleyebilirim?
Magento 1.x için örnek kodlar buldum. Ama bunu Magento 2'de nasıl yapacağım hakkında hiçbir fikrim yok. Bağımlılık Enjeksiyonu (DI) kullanarak bunun nasıl uygulanacağını açıklayan var mı? Teşekkürler. $trackingDetail = array( 'carrier_code' => 'ups', 'title' => 'United Parcel Service', 'number' => 'TORD23254WERZXd3', // Replace with your tracking number ); $track = …

1
Magento 2: Sanal Tip Adlandırma Sözleşmesi
Tarih: 1 Haziran 2015 (Magento 2'nin değişen doğası göz önüne alındığında) Magento 2'de, bir modülün yapılandırma dosyasında bir "sanal tür"di.xml yapılandırabilirsiniz. Bu sanal türler, belirli bir enjekte bağımlılığın argümanlarını değiştirmenize izin verir. Çekirdek Magento 2 kodunda, sanal türler için iki adlandırma kuralı olduğu görülmektedir. İlkinde, sanal türün gerçek bir PHP …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.