Config caching Konfigurasi
laravel tersebar di banyak file, dan including
setiap file untuk setiap permintaan adalah proses yang mahal. Untuk menggabungkan semua file konfigurasi Anda menjadi satu, gunakan:
php artisan config:cache
Ingatlah bahwa setiap perubahan pada konfigurasi tidak akan berpengaruh apa pun setelah Anda menyimpannya dalam cache. Untuk menyegarkan cache konfigurasi, jalankan kembali perintah di atas. Jika Anda ingin sepenuhnya menghapus cache konfigurasi, jalankan
php artisan config:clear
Routes caching
Routing juga merupakan tugas yang mahal di laravel. Untuk menyimpan file routes.php ke cache, jalankan perintah di bawah ini:
php artisan route:cache
Ingatlah bahwa itu tidak bekerja dengan penutupan. Jika Anda menggunakan closure, ini adalah kesempatan bagus untuk memindahkannya ke controller, karena perintah artisan akan memunculkan pengecualian saat mencoba mengompilasi rute yang terikat ke closure alih-alih metode controller yang tepat. Sama seperti config cache, perubahan apapun pada routes.php tidak akan berpengaruh lagi. Untuk menyegarkan cache, jalankan perintah di atas setiap kali Anda melakukan perubahan pada file rute. Untuk benar-benar menghilangkan cache rute, jalankan perintah di bawah ini:
php artisan route:clear
Pengoptimalan peta kelas
Tidak jarang proyek berukuran sedang tersebar di ratusan file PHP. Karena perilaku pengkodean yang baik menentukan kita, semuanya memiliki filenya sendiri. Ini, tentu saja, tidak datang tanpa kekurangan. Laravel harus menyertakan lusinan file berbeda untuk setiap permintaan, yang merupakan hal yang mahal untuk dilakukan.
Karenanya, metode pengoptimalan yang baik adalah mendeklarasikan file mana yang digunakan untuk setiap permintaan (misalnya, semua penyedia layanan Anda, middlewares, dan beberapa lainnya) dan menggabungkannya hanya dalam satu file, yang kemudian akan dimuat untuk setiap permintaan. Ini tidak berbeda dengan menggabungkan semua file javascript Anda menjadi satu, jadi browser harus membuat lebih sedikit permintaan ke server.
File kompilasi tambahan (sekali lagi: penyedia layanan, middlewares, dan seterusnya) harus dideklarasikan oleh Anda di config / compile.php, di kunci file. Setelah Anda meletakkan semua yang penting untuk setiap permintaan yang dibuat ke aplikasi Anda di sana, gabungkan semuanya dalam satu file dengan:
php artisan optimize --force
Mengoptimalkan pemuatan otomatis komposer
Yang ini tidak hanya untuk laravel, tetapi untuk aplikasi apa pun yang menggunakan komposer.
Saya akan menjelaskan terlebih dahulu bagaimana autoload PSR-4 bekerja, dan kemudian saya akan menunjukkan kepada Anda perintah apa yang harus Anda jalankan untuk mengoptimalkannya. Jika Anda tidak tertarik untuk mengetahui cara kerja komposer, saya sarankan Anda langsung beralih ke perintah konsol.
Saat Anda meminta komposer untuk App\Controllers\AuthController
kelas tersebut, pertama kali ia mencari asosiasi langsung di peta kelas. Peta kelas adalah larik dengan asosiasi kelas dan file 1-ke-1. Karena, tentu saja, Anda tidak menambahkan kelas Login dan file terkaitnya secara manual ke peta kelas, komposer akan melanjutkan dan mencari di ruang nama. Karena App adalah namespace PSR-4, yang datang secara default dengan Laravel dan terkait dengan app/
folder, komposer akan mencoba mengubah nama kelas PSR-4 menjadi nama file dengan prosedur manipulasi string dasar. Pada akhirnya, ia menebak bahwa itu App\Controllers\AuthController
harus ditempatkan di file AuthController.php, yang ada di Controllers/
folder yang untungnya ada di folder namespace, yaitu app/
.
Semua kerja keras ini hanya untuk mendapatkan bahwa App\Controllers\AuthController
kelas tersebut ada di app/Controllers/AuthController.php
file. Agar komposer memindai seluruh aplikasi Anda dan membuat pengaitan kelas dan file 1-ke-1 langsung, jalankan perintah berikut:
composer dumpautoload -o
Ingatlah bahwa jika Anda sudah menjalankan php artisan optimization --force, Anda tidak perlu menjalankan yang ini lagi. Karena perintah optimalkan sudah memberi tahu komposer untuk membuat pemuatan otomatis yang dioptimalkan.