Di Magento 2 (beta9 dan di atasnya) Anda dapat menjalankan perintah ini php bin/magento setup:di:compile
dan semua pencegat, pabrik, dan proxy (dan mungkin yang lain) akan dihasilkan di var/generation
folder untuk semua kelas yang Anda miliki dalam instance magento Anda.
Ini berguna untuk lingkungan hidup karena jika tidak, kelas yang disebutkan di atas akan dihasilkan pada saat runtime ketika mereka diperlukan dan dapat mempengaruhi kinerja.
Apakah ada cara untuk mengecualikan beberapa kelas dari skrip ini sehingga pencegat tidak akan dibuat saat menjalankan perintah?
Sebagai contoh: Saya ingin agar controller Magento\Backend\Controller\Adminhtml\Dashboard\RefreshStatistics
tidak memiliki interceptor yang dihasilkan.
magento2-dev-beta
Marius
sumber
sumber
setup:di:compile
gagal karena beberapa kelas induk hilang. Kelas-kelas yang memperpanjang kelas-kelas yang hilang masih ada tetapi mereka tidak digunakan oleh aplikasi. Dan saya tidak bisa menghapusnya karena mereka ada dalam modul yang saya butuhkan. Lihat penjelasan lengkap di bawah ini: magento.stackexchange.com/questions/69040/…Jawaban:
untuk menjalankan dari cli setidaknya di versi sebelumnya ada
exclude-pattern
parameter. Itu ditambahkan untuk menghindari masalah ketika suatu kelas tidak dapat diproses dengan benar, seperti itu terjadi misalnya dengan kelas magento1. Perintah dan argumen mungkin telah berubah dengan mengubahnya menjadi perintah konsol.Tapi saya tidak yakin apa tujuan Anda, jadi saya tidak bisa mengatakan apakah ini solusi yang baik untuk digunakan.
sumber
Report
modul. Tetapi karena hubungan yang erat antara modul Laporan dan Backend masih ada kelas dalam modul backend yang bergantung pada kelas modul laporan. Saya menemukan cara untuk tidak menggunakannya, tetapi karena perintah di mem-parsing file itu melewati kelas "diabaikan" dan mencoba untuk membangun pencegat. Tetapi ini gagal karena kelas indukMagento\Backend\Controller\Adminhtml\Dashboard\RefreshStatistics
misalnya, tidak ada. Jadi saya perlu cara untuk mengecualikan ini.exclude-pattern
param. Atau setidaknya saya tidak menemukannya. Saya mencariDiCompileCommand::configure
.