Yapılandırma önbelleğe alma
Laravel yapılandırması düzinelerce dosyaya yayılır ve including
her istek için her biri maliyetli bir işlemdir. Tüm yapılandırma dosyalarınızı tek bir dosyada birleştirmek için şunu kullanın:
php artisan config:cache
Yapılandırmadaki herhangi bir değişikliğin, önbelleğe aldığınızda herhangi bir etkisi olmayacağını unutmayın. Yapılandırma önbelleğini yenilemek için yukarıdaki komutu tekrar çalıştırın. Yapılandırma önbelleğinden tamamen kurtulmak istemeniz durumunda,
php artisan config:clear
Rotaları önbelleğe alma
Yönlendirme de laravel'de pahalı bir görevdir. Route.php dosyasını önbelleğe almak için aşağıdaki komutu çalıştırın:
php artisan route:cache
Kapanışlarla çalışmadığını unutmayın. Kapamalar kullanıyorsanız, bu, onları bir denetleyiciye taşımak için harika bir fırsattır, çünkü zanaatkar komut, uygun denetleyici yöntemleri yerine kapanışlara bağlı yolları derlemeye çalışırken bir istisna atacaktır. Yapılandırma önbelleğinde olduğu gibi, route.php'de yapılan herhangi bir değişikliğin artık hiçbir etkisi olmayacaktır. Önbelleği yenilemek için, rotalar dosyasında her değişiklik yaptığınızda yukarıdaki komutu çalıştırın. Yol önbelleğinden tamamen kurtulmak için aşağıdaki komutu çalıştırın:
php artisan route:clear
Sınıf haritası optimizasyonu
Orta ölçekli bir projenin yüzlerce PHP dosyasına yayılması alışılmadık bir durum değildir. İyi kodlama davranışları bizi dikte ettiği gibi, her şeyin kendi dosyası vardır. Bu, elbette, dezavantajları olmadan gelmez. Laravel, her istek için düzinelerce farklı dosya eklemelidir, bu da maliyetli bir şeydir.
Bu nedenle, iyi bir optimizasyon yöntemi, her istek için hangi dosyaların kullanıldığını bildirmektir (bu, örneğin, tüm hizmet sağlayıcılarınız, ara yazılımlarınız ve birkaç tane daha) ve bunları daha sonra her istek için yüklenecek olan tek bir dosyada birleştirmektir. Bu, tüm javascript dosyalarınızı tek bir dosyada birleştirmekten farklı değildir, bu nedenle tarayıcının sunucuya daha az istek yapması gerekecektir.
Ek derleme dosyaları (yine: servis sağlayıcılar, ara yazılımlar vb.) Sizin tarafınızdan config / compile.php dosyasında, dosyalar anahtarında bildirilmelidir. Uygulamanıza yapılan her istek için gerekli olan her şeyi oraya koyduktan sonra, bunları tek bir dosyada birleştirin:
php artisan optimize --force
Besteci otomatik yüklemesini optimize etme
Bu sadece laravel için değil, besteciden yararlanan herhangi bir uygulama için.
Önce PSR-4 otomatik yüklemesinin nasıl çalıştığını açıklayacağım ve ardından bunu optimize etmek için hangi komutu çalıştırmanız gerektiğini size göstereceğim. Bestecinin nasıl çalıştığını bilmek ilginizi çekmiyorsa, doğrudan konsol komutuna atlamanızı öneririm.
App\Controllers\AuthController
Besteciye sınıfı sorduğunuzda, önce sınıf haritasında doğrudan bir ilişki arar. Sınıf haritası, sınıfların ve dosyaların 1'e 1 ilişkilendirmelerini içeren bir dizidir. Elbette, Login sınıfını ve bunun ilişkili dosyasını sınıf haritasına manuel olarak eklemediğiniz için, besteci devam edecek ve ad alanlarında arama yapacaktır. Uygulama, Laravel ile varsayılan olarak gelen ve app/
klasörle ilişkilendirilen bir PSR-4 ad alanı olduğundan , besteci, PSR-4 sınıf adını temel dize işleme prosedürleri ile bir dosya adına dönüştürmeyi deneyecektir. Sonunda, şans eseri ad alanı klasöründe olması gereken App\Controllers\AuthController
bir Controllers/
klasörde bulunan AuthController.php dosyasında bulunması gerektiğini tahmin ediyor app/
.
Tüm bu sıkı çalışma, yalnızca App\Controllers\AuthController
sınıfın app/Controllers/AuthController.php
dosyada var olduğunu anlamak için . Composer'ın tüm uygulamanızı taraması ve doğrudan 1'e 1 sınıf ve dosya ilişkilendirmeleri oluşturması için aşağıdaki komutu çalıştırın:
composer dumpautoload -o
Php artisan optimiz --force'u zaten çalıştırdıysanız, artık bunu çalıştırmanız gerekmediğini unutmayın. Optimize komutu zaten besteciye optimize edilmiş bir otomatik yükleme oluşturmasını söylediğinden.