php artisan dev artık sadece uygulama komutlarını çalıştırıyor
Yeni metodların tanıtımı
Laravel 13.30 sürümü, DevCommands sınıfına iki fonksiyon ekleyerek php artisan dev komutunun davranışını yeniden şekillendiriyor. withoutVendorCommands() ve withoutDefaultCommands() metodları, geliştiricilerin sadece kendi uygulamalarına özgü komutları çalıştırabilmelerine olanak tanıyor. Bu sayede, paket yöneticileri ya da Laravel çekirdeğinin sunduğu ön tanımlı komutlar dev sürecinden otomatik olarak çıkarılıyor.
Neden bu değişiklik gerekiyor?
Günümüz projelerinde, üçüncü taraf paketlerin sağladığı komut sayısı hızla artıyor. Özellikle büyük ekiplerde, php artisan dev gibi bir geliştirme aracını çalıştırırken gereksiz komutların devreye girmesi, hem performansı düşürür hem de hata ayıklamayı zorlaştırır. Yeni metodlar, yalnızca uygulamanın kendisinin kaydettiği komutları izole ederek bu sorunu ortadan kaldırıyor.
Uygulama içinde nasıl kullanılmalı?
Geliştiriciler, AppProvidersAppServiceProvider ya da benzeri bir servis sağlayıcı içinde DevCommands::withoutVendorCommands()->withoutDefaultCommands(); zincirlemesini ekleyebilirler. Bu satır, php artisan dev komutunun başlatıldığı anda devreye girer ve sonraki tüm işlemler bu filtrelenmiş komut seti üzerinden yürütülür. Böylece, örneğin queue:work ya da schedule:run gibi Laravel’in temel zamanlayıcıları da dev ortamında çalışmaz; sadece proje içinde tanımlı özel komutlar kalır.
Geliştirici deneyimine etkileri
Bu güncelleme, iki açıdan fayda sağlıyor. Birincisi, hız – gereksiz komutların yüklenmemesi, Artisan’ın başlatma süresini kısaltır. İkincisi, güvenilirlik – sadece proje koduyla ilgili komutların çalışması, test ortamında beklenmeyen yan etkilerin ortaya çıkmasını engeller. Özellikle CI/CD boru hatlarında, php artisan dev komutunun tutarlı sonuçlar vermesi, otomatik testlerin stabilitesini artırır.
Performans ölçütleri
Duyuruda spesifik benchmark verilmemiş olsa da, komut sayısının azalmasının I/O ve bellek tüketimini düşüreceği öngörülüyor. Geliştiriciler, kendi projelerinde --verbose parametresiyle komut listelerini inceleyerek, hangi paketlerin komut sağladığını görebilir ve filtrelemeyi doğrulayabilir.
Potansiyel sınırlamalar ve dikkat edilmesi gerekenler
Her ne kadar paket komutlarını dev ortamından çıkarmak çoğu senaryoda avantaj sağlasa da, bazı paketlerin sağladığı komutlar geliştirme sürecinde kritik rol oynayabilir. Örneğin, laravel/telescope gibi izleme araçları, geliştirme aşamasında bilgi toplamak için Artisan komutları sunar. Bu tür durumlarda, withoutVendorCommands() metodunun devre dışı bırakılması ya da belirli paketler için ayrı bir yapılandırma yapılması gerekir.
Ayrıca, Laravel’in varsayılan komutları arasında make:model gibi kod üreticileri bulunur. Bu komutlar, yeni sınıflar oluştururken zaman kazandırır ve genellikle geliştirme sürecinin vazgeçilmez bir parçasıdır. withoutDefaultCommands() metodunu etkinleştiren projelerde, bu tip yardımcı komutları manuel olarak ya da alternatif bir script ile sağlamak gerekebilir.
Gelecek sürümlerde beklenen gelişmeler
Bu iki metod, Laravel ekosisteminde daha ince ayar seçeneklerinin habercisi olabilir. İlerleyen sürümlerde, belirli vendor paketlerini seçerek dışarıda bırakma, ya da komut gruplarına göre filtreleme gibi özelliklerin eklenmesi muhtemel. Şimdilik, php artisan dev komutunun temel işlevselliğini sadeleştirerek, geliştiricilere daha temiz bir çalışma alanı sunuyor.
Özetle, Laravel 13.30’da tanıtılan withoutVendorCommands ve withoutDefaultCommands metodları, geliştirme ortamını gereksiz bağımlılıklardan arındırarak, daha hızlı ve öngörülebilir bir Artisan deneyimi sağlıyor. Geliştiriciler, bu yeniliği projelerinde uygulayarak, sadece kendi kodlarıyla ilgili komutların çalıştığından emin olabilir ve potansiyel çakışma riskini minimize eder.
Kaynak: Laravel News
Alakalı İçerikler
-
Symfony Haftası 1027’de Güncellenen Sürümler ve Yeni LSP Komutu 5 Saat önce
Symfony 6.4.45, 7.4.18 ve 8.1.6 sürümleri hata ve güvenlik düzeltmeleriyle yayınlandı; yeni lsp:check komutu CI süreçlerine rota ve tanımlama denetimi ekliyor.
-
Symfony 7.4.18 Güncellemesi Yayınlandı 1 Gün önce
Symfony 7.4.18 sürümü, geliştirme rehberi ve SymfonyInsight raporlarıyla güvenli yükseltme sürecine odaklanıyor.
-
Swift'in Web Odaklı Gelişimi Ağustos 2026'da 2 Gün önce
Swift topluluğu, web geliştirme alanında yeni bir adım atıyor. Simon Leeb'in Elementary ve ElementaryUI projeleri, Swift'i sunucu ve istemci tarafında birleştirerek daha hafif WebAssembly çözümleri sunuyor.
-
Bun 1.4.1 Güncellemesi Performans ve Uyumlulukta İlerleme 2 Gün önce
Bun 1.4.1, HTTP/2, çevrimdışı paket kurulumları ve yeni kripto desteğiyle birlikte buffer okuma/yazma ve AsyncLocalStorage hızında çarpıcı artışlar sunuyor.
-
Astro 7.3'te --ignore-lock ve Cloudflare İyileştirmeleri 2 Gün önce
Astro 7.3, preview komutunda --ignore-lock bayrağı, paylaşımlı günlük kaydedicisi ve Cloudflare worker için finalize() yardımcı fonksiyonunu tanıtarak geliştirme sürecini hızlandırıyor.
-
Django 6.1.1 Hata Düzeltme Sürümü Yayınlandı 3 Gün önce
Django 6.1.1 sürümü, mevcut kurulumlarda tespit edilen hataları ve güvenlik iyileştirmelerini gidermek üzere yayınlandı; paket ve PGP imzası indirme sayfasından temin edilebilir.
- Laravel
- php artisan
- dev commands
- withoutVendorCommands
- withoutDefaultCommands
- geliştirme ortamı
- komut filtreleme
Tepkini Göster
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
Yorumlar
Sende Yorumunu Ekle