Magento2 için özel uzantılar nerede oluşturulur?


9

Bazı makaleler özel uzantılar oluşturmayı, app/codebazıları ise bunları altında oluşturmayı teşvik eder vendor. Bu iki yöntemin ikisi de iyi mi?

Bir modülü geçersiz kılmak istersem ne olur vendor? Özel modülümü vendorklasör içine de mi yazmam gerekiyor app/code?

Magento 1.x'te olduğu gibi kod havuzu gibi mi davranıyorlar?

Lütfen herkes her bir dizinin amacını açıklar.


Bana göre biz app / kod yapmak gerekir.
Arjun

Yanıtlar:


7

Klasörlere app/codeve vendorM1'deki kod havuzları olarak bakabilirsiniz, ancak bunlar gerçekten kod havuzları değildir.
M1'de "kod havuzu" kavramı yoktur.

  • vendorklasörü besteci ile indirdiğiniz modüller içindir. Bu klasöre kod yazmamalısınız.
  • app/codeoyun alanınız. Kendi uzantılarınızı buraya ekleyin.

vendorKlasördeki bir şeyi yeniden yazmanız / genişletmeniz gerekirse bunu klasörde yapabilirsiniz app/code. module.xmlModülünüzdeki yumuşak bağımlılığı , app/etc/modules/Namespace_Module.xmldosyadaki M1'de yaptığınız gibi belirttiğinizden emin olun .
Tek fark, m2'de aslında bağımlılık olmamalarıdır. Bunlar dizilerdir.
Bu şekilde modülünüz vendorklasördekinden sonra yüklenir


Tamamen doğru değil. M2'yi github aracılığıyla yüklerseniz app/codebir oyun alanı değildir;)
Raphael, Digital Pianism'de

@Marius: Çok teşekkürler. Sahip olduğum şüpheyi temizledi. XMBir satıcı modülündeki L dosyasını geçersiz kılmak istiyorsanız , yine de içindeki bağımlılıklardan bahsetmek zorunda mıyız module.xml ?
Sukeshini

@RaphaelatDigitalPianism. Evet ve hayır. Bu app/codedurumda çekirdek modülleri alırsınız , ancak yine de kendi modüllerinizi ekleyebilirsiniz. Github ile m2'yi kurmanızın tek nedeni onunla oynamak ve / veya katkıda bulunmaktır. Yani bu teknik olarak hala app/codeoyun alanınızı yapıyor .
Marius

@Sukeshini. Bundan emin değilim ama bence yapmalısın.
Marius

@Marius, söyleyeceğim her şeyi w / app/code/Vendorsenin oyun alanı olduğunu kabul etti , bu yüzden çekirdek şeyleri kırma riski yok
Raphael at Digital Pianism

2

app/code projektörünüzün modülleri için kesinlikle doğru yer.

Hiçbir zaman içeride kod yazmamalısınız vendor(bu dizin kaynak kontrolünüzde yok sayılmaz), çünkü yalnızca besteci tarafından yönetilir ve yeniden kullanmak istediğiniz üçüncü taraf modülüne veya modülüne adanmıştır (ve paket veya kendi satis deponuzda yayınlamışsınızdır) ).

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.