aslain.dev
0%
← Tüm makaleler

Laravel 12 Yenilikleri ve Yeni Başlangıç Yapısı

Laravel 12 yenilikleri hakkında konuşurken en önemli noktayı baştan netleştirelim: Şubat 2025'te yayımlanan bu sürüm, devasa yeni özelliklerle dolu bir devrim değil, çoğunlukla bir bakım ve uyumluluk sürümüdür. Laravel 11 ile gelen sade uygulama iskeletini koruyan ekip, bu kez enerjisini bağımlılıkların güncellenmesine, çatının istikrarına ve geliştirici deneyimini hızlandıran yeni başlangıç kit'lerine ayırdı. Bu yazıda neyin gerçekten değiştiğini, neyin aynı kaldığını ve mevcut projenizi nasıl güvenle yükselteceğinizi pratik bir çerçevede anlatıyorum.

Laravel 12 yenilikleri: gerçekte ne değişti?

Önce beklentileri doğru ayarlayalım. Laravel'in modern sürümleme yaklaşımında her büyük sürüm artık köklü kırılmalar getirmiyor; aksine, çoğu büyük yenilik küçük (minor) sürümlerle yıl boyunca akıyor. Laravel 12'nin ana hikâyesi de budur:

  • Uyumluluk güncellemeleri: Çatının kullandığı temel paketler ve test altyapısı güncel sürümlere taşındı, böylece ekosistem güncel PHP ile uyumlu kalır.
  • Minimum kırılma: Yükseltme rehberinde belirtilen değişiklikler küçüktür; çoğu uygulama yalnızca birkaç dosyaya dokunarak ya da hiç dokunmadan geçiş yapabilir.
  • Aynı kalan iskelet: Laravel 11'in sadeleştirilmiş yapısı (ince bootstrap/app.php, azaltılmış varsayılan dosyalar) korunur; yeni bir mimari öğrenmeniz gerekmez.
  • Yeni başlangıç kit'leri: En görünür yenilik, sıfırdan proje kurmayı modernleştiren yeni starter kit'lerdir.

Kısacası Laravel 12, üzerine inşa edilen sağlam zeminin altını sağlamlaştırır. Bu, "heyecan verici değil" demek değildir; uzun ömürlü projeler için istikrarın kendisi bir özelliktir.

Yeni başlangıç kit'leri: React, Vue ve Livewire

Laravel 12 ile birlikte tanıtılan yeni starter kit'ler, yeni bir uygulamaya başlama deneyimini yeniden tasarlar. Eskiden ayrı paketler ve ek kurulum adımları gerektiren kimlik doğrulama ve ön yüz iskeleti, artık doğrudan resmî starter kit'ler üzerinden seçilebiliyor:

  • React starter kit'i — Inertia tabanlı, modern bir React ön yüzüyle gelir.
  • Vue starter kit'i — Aynı yaklaşımın Vue sürümü; bileşen temelli, reaktif bir arayüz sunar.
  • Livewire starter kit'i — Sunucu odaklı, PHP ağırlıklı geliştirmeyi sevenler için; karmaşık bir JavaScript derleme adımı olmadan dinamik arayüzler kurmanıza imkân tanır.

Bu kit'ler hazır kimlik doğrulama akışları, oturum yönetimi ve düzenli bir başlangıç düzeniyle gelir. Amaç, "boş bir tuvalden" prodüksiyona benzer bir yapıya geçişi dakikalara indirmektir. Yeni bir uygulama oluştururken kurulum sihirbazı hangi kit'i istediğinizi sorar; siz de takımınızın yetkinliğine göre React, Vue ya da Livewire'ı seçersiniz.

Composer ile yükseltme

Asıl merak edilen kısım: mevcut projeyi nasıl taşırım? İyi haber, çoğu durumda bunun çok sade olmasıdır. Önce composer.json dosyanızdaki çekirdek bağımlılığı güncelleyin:

"require": {
    "php": "^8.2",
    "laravel/framework": "^12.0"
}

Ardından bağımlılıkları çözün ve güncelleyin:

composer update laravel/framework --with-all-dependencies

Birinci ve üçüncü taraf paketlerini bir arada güncellemek için tüm bağımlılıkları da tazeleyebilirsiniz:

composer update

Yükseltme sırasında izlemenizi önerdiğim adımlar:

  • Önce PHP sürümünü doğrulayın: Modern Laravel sürümleri güncel PHP gerektirir; sunucunuzun ve yerel ortamınızın uyumlu olduğundan emin olun.
  • Resmî yükseltme rehberini açın: Laravel her sürüm için ayrıntılı bir "Upgrade Guide" yayımlar. Hangi küçük değişikliklerin sizi etkilediğini buradan kontrol edin.
  • Üçüncü taraf paketleri kontrol edin: Kullandığınız paketlerin Laravel 12'yi desteklediğinden emin olun; bazıları yeni bir büyük sürüm yayımlamış olabilir.
  • Testleri çalıştırın: Otomatik testleriniz varsa yükseltmeden sonra tümünü koşturun; yoksa kritik akışları elle gözden geçirin.
  • Önbelleği temizleyin: Geçiş sonrası php artisan optimize:clear ile yapılandırma ve route önbelleklerini tazeleyin.

Sıfırdan yeni bir proje kuruyorsanız işiniz daha da kolay; Laravel kurulum aracıyla en güncel sürüm zaten gelir:

laravel new proje-adi

Kimler hemen geçmeli, kimler beklemeli?

Her ekibin yükseltme takvimi farklıdır. Pratik bir karar çerçevesi:

  • Yeni projeler: Tereddütsüz Laravel 12 ve yeni starter kit'leriyle başlayın; en güncel zeminde olursunuz.
  • Aktif geliştirilen projeler: Yükseltme rehberi kısa olduğundan, planlı bir bakım penceresinde geçiş genellikle hızlıdır.
  • Çok sayıda eski paket içeren projeler: Önce bağımlılıkların uyumluluğunu doğrulayın; darboğaz genelde çatının kendisi değil, üçüncü taraf paketleri olur.

Laravel'in resmî destek politikası gereği önceki büyük sürümler bir süre daha hata ve güvenlik düzeltmeleri almaya devam eder. Yani aceleniz yoksa, paketleriniz hazır olduğunda planlı biçimde geçmek tamamen makuldür.

Sık Sorulan Sorular

Laravel 12 büyük bir sürüm mü, yoksa küçük bir güncelleme mi?

Teknik olarak büyük (major) bir sürümdür, ancak içeriği çoğunlukla bakım ve uyumluluk odaklıdır. Köklü mimari değişiklikler içermez; Laravel 11'in sade yapısını korur ve en görünür yenilik yeni başlangıç kit'leridir.

Laravel 11'den 12'ye geçiş zor mu?

Çoğu uygulama için hayır. Yükseltme rehberindeki değişiklikler küçüktür; composer.json içinde çatı sürümünü güncellemek, composer update çalıştırmak ve testleri koşturmak genellikle yeterlidir.

Eski projemi hemen yükseltmek zorunda mıyım?

Hayır. Önceki büyük sürüm bir süre daha güvenlik düzeltmeleri aldığından, üçüncü taraf paketlerinizin hazır olmasını bekleyip planlı bir geçiş yapabilirsiniz.

Laravel projenizi 12'ye taşımak mı, yoksa yeni starter kit'lerle sıfırdan sağlam bir başlangıç mı istiyorsunuz? Yükseltme planından kod gözden geçirmeye kadar yardımcı olabilirim — benimle iletişime geçin ve projenizi konuşalım.

Devamı için