Farklı varlıklar oluşturmak için farklı nedenler vardır:
Proxy - tembel yükleme için kullanılır. Ancak her tür ayrı proxy sınıfı gerektirir, böylece geliştiricilerin bunları manuel olarak yazmaları can sıkıcı olur, böylece Magento bunları oluşturur. Sadece Proxies referanslarını sadece di.xml dosyasında bulabilirsiniz
Fabrika - enjekte edilemeyen (varlık) oluşturmak için kullanılan bir sınıftır. Proxy'lerle aynı. PHP'nin henüz jenerikleri yok, bu yüzden geliştiricinin kaynak kodu yazmasını sağlamak için fabrikaları otomatik olarak oluşturuyoruz. Magento kodundaki fabrikalarla etkileşime gireceksiniz. Muhtemelen varlıklarınız için kendi fabrikalarınıza ihtiyaç duyacaksınız. Yapıcıda ilgili fabrikayı isteyin ve bir sonraki çalıştırmada veya derleyici çalışması sırasında üretilecektir.
Durdurucu - Durdurma bileşeni tarafından kullanılan bir altyapı sınıfıdır. Flyingmana ve Phil Winkle'ın fark ettikleri gibi, onlarla bir şekilde etkileşime girmemeniz gerekir.
Oluşturulan başka bir grup var (nesne grafiği profil oluşturma modu için Logger gibi), ancak bu 3 en önemlisidir.
Magento 2 de derlenebilir. Derleme , DI ve Interception'ı daha hızlı hale getirir. Tüm kod oluşturma ve derleme dev / tools / Magento / Tools / Di / compiler.php ile yapılabilir
Magento\Cms\Block\Block
Yapıcıda bir örneği\Magento\Cms\Model\BlockFactory
kullanılır. Bu sınıf kodun hiçbir yerinde yok. Sadece içinde bulunurvar/generation
. Benzer bir modül yapıyorsam benzer bir sınıf kullanmam gerekebilir.