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.