Laravel: Versiyon 5'ten Günümüze

Laravel sadece değişmedi. Olgunlaştı.

Eski bir Laravel 5 projesi açarsanız, farklı onlardan kalma odaları olan bir ev görürsünüz. Çalışır ama controller'lar çok fazla iş yapar. Middleware'ler eskidir. Helper dosyaları karmaşıktır.

Yine de çekirdek aynı kalır. Hâlâ route'lar, Eloquent, migration'lar ve Blade kullanırsınız.

Laravel farklı bir framework olmadı. Aynı fikrin olgunlaşmış bir versiyonu haline geldi: size temiz varsayılanlar sunmak ve altyapıyla uğraşmadan ürününüzü yayına almanızı sağlamak.

Zanaatın Evrimi

Laravel 5 sağlam bir araç kutusuydu. PHP'nin yeniden ciddi bir platform gibi hissedilmesini sağladı. Size şunları sundu:

  • İstek filtreleme için Middleware.
  • Doğrulamayı (validation) düzenlemek için Form request'ler.
  • Arka plan görevleri için Job'lar ve kuyruklar (queues).
  • Anlatımı güçlü veritabanı modelleri için Eloquent.

Laravel 6, 7 ve 8 günlük işleri daha akıcı hale getirmeye odaklandı.

  • Semantik versiyonlama kararlılık getirdi.
  • Factory'ler test verisi oluşturmayı kolaylaştırdı.
  • Blade bileşenleri (components) kod tekrarını durdurdu.
  • Sanctum, API kimlik doğrulamasını (authentication) basitleştirdi.

Laravel 9 ve 10 modern PHP'yi benimsedi.

  • Tiplendirilmiş özellikler (typed properties) ve daha iyi dönüş tipleri kazandınız.
  • Test süreci iş akışının temel bir parçası haline geldi.
  • Ekosistem sadece kodun ötesine genişledi.

Modern Laravel tam teşekküllü bir atölyedir. Dağıtım (deployment), izleme (monitoring) ve yapay zeka farkındalığı olan iş akışlarını içerir.

Gerçek Güç Ekosistemdedir

Laravel bir framework'ten daha fazlasıdır. Bir hizmetler şehridir. İlk günden her şeye ihtiyacınız olmaz ama var olduklarını bilmelisiniz:

  • Deployment: Forge sunucuları yönetir. Vapor, AWS üzerinde serverless ölçeklendirmeyi halleder. Envoyer, sıfır kesintiyle (zero-downtime) dağıtım sağlar.
  • Yönetim: Nova, premium admin panelleri sunar.
  • Görünürlük: Horizon, Redis kuyruklarını izler. Telescope, bir hata ayıklama (debugging) asistanı görevi görür. Pulse, performansı takip eder.
  • Gerçek zamanlı: Reverb, yerel WebSocket desteği sağlar.
  • Temel Araçlar: Cashier faturalandırmayı yönetir. Scout aramayı yönetir. Sanctum API kimlik doğrulamasını yönetir.

Framework'ten Ekosisteme Geçiş

En büyük değişiklik, sağladığı kaldıraç etkisidir. Laravel 5 PHP'yi organize etmenize yardımcı oluyordu. Modern Laravel ise inşa etmenize, dağıtmanıza, izlemenize, ölçeklendirmenize ve arama yapmanıza yardımcı oluyor.

Sizi ağır bir sırt çantası taşımaktan, iyi organize edilmiş bir kabin bagajı kullanmaya taşır. Daha az kalabalık taşırsınız ama tüm yetenekleri korursunuz.

Eski Uygulamaları Yükseltmek İçin Tavsiyeler

Bir yükseltmeyi her şeyi yeniden yazma görevi olarak görmeyin. Onu, içinde insanlar yaşarken bir evi tadilata sokmak gibi düşünün.

  • Her seferinde yalnızca bir ana versiyon yükseltin.
  • İş mantığınızı (business logic) korumak için testleri kullanın.
  • Önce paket bağımlılıklarınızı kontrol edin.
  • Sadece sürüm notlarını değil, yükseltme kılavuzlarını da okuyun.

Sıkıcı altyapı güzeldir. Bu, enerjinizi kablolama yerine ürün mantığına harcadığınız anlamına gelir.

Source: https://dev.to/nazar_boyko/laravel-from-version-5-to-today-the-framework-grew-up-with-us-3cil