Jadi komposer itu hebat, dan ada banyak kode dalam repositori packagist komposer yang membuat menulis ekstensi Magento lebih mudah.
Masalah yang saya hadapi, adalah cara terbaik untuk (bersih) mengatur autoloading.
Secara default, paket komposer diinstal ke / vendor, dan di dalam direktori itu terdapat file autoload.php yang mengatur pemuatan kelas untuk paket yang dikelola komposer.
Jadi, apa cara terbaik untuk meminta file '/ vendor/autoload.php' dari komposer? Ini harus bekerja untuk skrip webstore dan shell. Apakah ada acara pengamat yang dapat saya ketuk untuk melakukan require_once?
Bersulang!
require_once $mageFilename
dipanggil). Ini berfungsi dengan baik untuk instalasi klien, dan sama sekali tidak perlu menulis ulang file.Jawaban:
Autoloader Magento terdaftar di
Mage.php
.Jika ingin melakukan ini dalam modul sendiri, Anda harus mengambil acara pertama yang mungkin dan memerlukan autoloader di sana
Menurut analisis Alan, ini adalah
resource_get_tablename
- tetapi Anda harus memastikan bahwa Anda hanya menangani acara ini sekali saja.Solusi cepat dan kotor adalah menambal
Mage.php
(bagian paling awal dari file) - tetapi ini meretas inti.Kami juga memiliki modul Magento-PSR-0-Autoloader , yang menawarkan cara untuk menambahkan komponis autoloading melalui konfigurasi. Ini adalah implementasi dasar yang memanfaatkan
resource_get_tablename
acara.sumber