Bestecinin otomatik yükleyicisini Magento'ya entegre etme


19

Yani besteci harika ve bestecinin paketçi deposunda Magento uzantılarını yazmayı kolaylaştıran birçok kod var .

Karşılaştığım sorun, otomatik yüklemenin (temiz) nasıl en iyi şekilde yapılacağıdır.

Varsayılan olarak besteci paketleri / satıcıya yüklenir ve bu dizinin içinde besteci tarafından yönetilen paketler için sınıf yüklemesini ayarlayan bir autoload.php dosyası bulunur.

Peki requir_once bestecinin '/vendor/autoload.php' dosyasını almanın en iyi yolu nedir? Bunun hem web mağazası hem de kabuk komut dosyaları için çalışması gerekir. Requir_once yapmak için dokunabilirsiniz bir gözlemci olay var mı?

Şerefe!


Burada github.com/magento-hackathon/magento-composer-installer yardımcı oluyorsa ipucu yok . Bence oldukça alakasız. Sanırım besteci ile Magento olmayan paketleri kurmaya çalışıyorsunuz ve temelde onları lib'de bulundurmak istiyorsunuz /
Alex

Evet, isterseniz besteciyi lib'e yükleyecek şekilde ayarlayabilirsiniz, ancak mümkünse besteci kütüphanelerini / büyücü kütüphanelerini ayrı tutmak istiyorum. Ayrıca bestecide, Mage otomatik yükleyici mekanizmasına uymayan sınıflandırılmış otomatik yükleme gibi düzgün şeylere sahip olabilirsiniz.
Aaron Bonner

1
+1. Görünüşe göre Mage.php erken olay sevk biri hile yapmalı ...?
1913'te kalenjordan

Bu uzun zaman önce cevap olduğunu biliyorum, ama başka bir seçenek (otomatik require_once $mageFilenameolarak adlandırılır) index.php dosyasında satıcı otomatik yükleyici dahil etmektir . Bu, istemci yüklemeleri için iyi çalışır ve hiçbir yeniden yazma dosyası almaz.
SwiftOtter'de Joseph

Bir çekirdek dosyayı hack ediyorsunuz, index.php. Yeni sürüme geçtiğinizde, bu kod satırını index.php dosyasına eklediğinizi hatırlamanız gerekir.
Aaron Bonner

Yanıtlar:


15

Magento otomatik yükleyici kayıtlıdır Mage.php.

Bunu kendi modülünde yapmak istiyorsanız, mümkün olan ilk olayı almanız ve orada otomatik yükleyiciye ihtiyaç duymanız gerekir.

Göre Alan'ın analizi bu olurdu resource_get_tablename- ama emin senin sadece bir kez bu etkinliği işleyecek yapmak zorunda.

Hızlı ve kirli çözüm yama yapmaktır Mage.php(dosyanın en başlangıcı) - ancak bu çekirdeği hacklemektedir.

Ayrıca Magento-PSR-0-Autoloader modülümüz var, bu yapılandırma üzerinden besteciler otomatik yükleme eklemek için bir yol sunuyor. Etkinliği kullanan temel bir uygulamadır resource_get_tablename.


Teşekkürler Alex, bu mükemmel. Ben mage.php yamalı ama bunu üretim koymak istemiyordu. resource_get_tablename gözlemlemek iyi çalıştı!
Aaron Bonner

4
Vinai, Varien_Autoload'u yerel kod havuzuna koymak ve pahalı gözlemci olaylarını ve doğrudan çekirdek kodunu yamalamaktan kaçınmak için gerekli kodu koymak için harika bir öneride bulundu.
Aaron Bonner

1
"Yukarıdaki örneğin basit uygulanması: github.com/thijssnowcountry/magento1_composer_loader " - @ user2594875
Fabian Schmengler
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.