Eski bir Laravel 5 projesini açtığınızda, her odası farklı bir on yılda eklenmiş bir eve girmiş gibi hissediyor musunuz?
Uygulama çalışıyor. Çoğunlukla. Ama içeride kötü yapılandırılmış controller’lar, her yerde servis sağlayıcıları, eski middleware kalıpları ve kimsenin dokunmak istemediği rastgele bir yardımcı dosya var. Yine de tanıdık olan bir şey var: rotalar, Eloquent modeller, migrations, kuyruklar, Blade, doğrulama, işler.
İlginç olan bu. Laravel farklı bir framework haline gelmedi. Aynı fikrin daha olgun bir versiyonu haline geldi: temiz varsayımlar sunmak, sıkıcı kararları ortadan kaldırmak ve alt yapıyla mücadele etmeden gönderim yapmanızı sağlamak.
Laravel 5, garajınızdaki sağlam bir alet kutusu gibiydi. Modern Laravel, elektrikli aletler, güvenlik kontrolleri, dağıtım rayları, izleme ekranları ile dolu tam bir atölyeye daha yakındır ve evet, şimdi yapay zeka farkında olan iş akışlarına bile sahiptir. Aynı zanaat. Daha iyi ekipman.
Laravel 5 Temel Dönemi
Laravel 5 Temel Dönemi
Laravel 5, pek çok geliştiricinin PHP’yi ciddi bir uygulama platformu olarak yeniden değerlendirmeye başladığı yerdir.
Artık servis sağlayıcıları, middleware, form istekleri, kuyruklar, olaylar, komutlar ve temiz bir uygulama yapısı vardı. Çoğu ekip için Laravel 5, PHP’nin “sadece bir sunucu üzerindeki scriptler” olmaktan çıkıp gerçek bir backend frameworkü haline geldiği an oldu.
Laravel 5’i, üniversiteden sonra kiraladığınız ilk iyi apartman gibi düşünün. Mükemmel değil, belki biraz gürültülü, ama odaları, kapıları, elektriği ve eşyalarınız için bir yeri var. Daha eski PHP uygulamalarıyla karşılaştırıldığında, bu büyük bir olaydı.
Laravel 5’te Ne Değişti?
Laravel 5’te Ne Değişti?
- Middleware ön kapı haline geldi. İstemci, controller uyanmadan önce kimlik doğrulama, CSRF, yönlendirmeler ve istek filtrelemesi uygulayabiliyordunuz.
- Form istekleri doğrulamayı temizledi. Doğrulama mantığını controller’lara sıkıştırmak yerine, onu özel istek sınıflarına taşıyabiliyordunuz.
- İşlemler ve kuyruklar normal hale geldi. E-posta göndermek, resimleri işlemek, içe/dışa aktarmalar ve yavaş görevler artık doğal bir yere sahipti.
- Eloquent varsayılan zihinsel model haline geldi. Sadece SQL yazmakla kalmıyor, alanınızı ilişkiler ve anlatımcı sorgular aracılığıyla modellemeye başladınız.
Laravel’in neyin normal olduğunu hissettirdiğine dair küçük bir örnek: doğrulamayı controller’dan çıkarıp bir istek sınıfına taşıyın.
app/Http/Requests/StoreArticleRequest.php
public function rules(): array
{
return [
'title' => ['required', 'string', 'max:120'],
'body' => ['required', 'string'],
'published_at' => ['nullable', 'date'],
];
}
Buradaki nokta, bunun şık olduğu değil. Laravel, uygulamanız bir çöp çekmecesine dönüşmeden önce yapıya yönlendiriyordu.
Laravel 6’dan 8’e Profesyonelleşme Dönemi
Laravel 6’dan 8’e Profesyonelleşme Dönemi
Laravel 6, anlamsal sürümleme ve uzun vadeli destek sunarak, üretim uygulamalarıyla uğraşanlar için oksijen gibi oldu.
Bu dönem, Laravel 7 ve 8’de yönlendirme, fabrikalar, işler, bileşenler ve güncel uygulama yapısı üzerine yapılan geliştirmeleri de içeriyordu. Bu dönem daha çok “bu devasa özelliğe bak” değil, “günlük işlerinizi daha akıcı hale getiriyoruz” şeklindeydi.
Gerçek Projelerde Ne İyileşti?
Gerçek Projelerde Ne İyileşti?
- Fabrikalar daha kolay kullanılır hale geldi. Test verileri, yeniden kullanılabilir hale geldi ve geliştirme akışının bir parçası gibi hissettirmeye başladı.
- Blade bileşenleri UI yapısını geliştirdi. Aynı kart, modal, uyarı ve form markup’larını her yerde çoğaltmaya son verdi.
- İş toplama ve kuyruklar daha güçlü hale geldi. Arka plan işleri daha gözlemlenebilir ve kontrol edilebilir hale geldi.
- Laravel Sanctum API kimliğini basitleştirdi. SPA’lar ve token tabanlı kimlik doğrulama için Sanctum pratik varsayılan haline geldi.
Tipik bir Laravel 8 tarzı model fabrikası, neredeyse bir cümle gibi okunur.
database/factories/UserFactory.php
public function definition(): array
{
return [
'name' => fake()->name(),
'email' => fake()->unique()->safeEmail(),
'password' => bcrypt(),
];
}
Bu, Laravel’in küçük örneği: tekrar eden bir şeyi alın, okunabilir hale getirin ve devam etmesine izin verin.
Laravel 9’dan 10’a Modern PHP Dönemi
Laravel 9’dan 10’a Modern PHP Dönemi
Laravel 9 ve 10, modern PHP’ye daha güçlü bir şekilde yöneldi.
Daha fazla yazılı türü, daha iyi dönüş türleri, daha temiz bağımlılık yönetimi, geliştirilmiş test iş akışları ve modern Symfony bileşenleri ile daha iyi uyum gördünüz. Bu, Laravel’in “Evet, PHP değişti ve biz de bununla birlikteyiz” demesiydi.
Bu Dönem Neden Farklı Hissettirdi?
Bu Dönem Neden Farklı Hissettirdi?
- Türler daha doğal hale geldi. Kodunuz, ne beklediğini ve ne döndürdüğünü daha iyi ifade edebiliyor.
- Testler artık isteğe bağlı değildi. Laravel’in test araçları arkadaş canlısı hale geldi, bu da test kapsamının bir ceza gibi hissettirilmesini sağladı.
- Geliştirici deneyimi bir ürün özelliği haline geldi. Artisan komutları, başlangıç kitleri, hata sayfaları ve yerel geliştirme daha pürüzsüz hale geldi.
- Eko sistem göz ardı edilemez hale geldi. Laravel artık sadece framework kodu değil; dağıtım, izleme, hata ayıklama, kuyruklar, kimlik doğrulama, faturalama, arama ve daha fazlasını kapsıyordu.
İşletim tarzında basit bir servis sınıfı, modern Laravel’de doğal hissedilir.
app/Services/InvoiceService.php
final class InvoiceService
{
public function markAsPaid(Invoice $invoice): void
{
$invoice->update([
=> now(),
=> InvoiceStatus::Paid,
]);
}
}
Büyük ders: Laravel, PHP ile büyüdü, PHP’nin 2012’de sıkışıp kalmış gibi davranmadı.
Laravel 11’den 13’e Temiz Yığın Dönemi
Laravel 11’den 13’e Temiz Yığın Dönemi
Laravel 11, uygulama iskeletini temizledi. Laravel 12, daha akıcı güncellemeler ve daha iyi başlangıç kitleri ile yıllık döngüyü sürdürdü. 2026’nın başında çıkan Laravel 13, AI-farkında iş akışlarına, JSON:API kaynaklarına ve anlamsal ile vektör aramaya odaklandı.
Bu dönem, büyük bir sırt çantasından iyi organize edilmiş bir el çantasına geçmeye benziyor. Yetenekleriniz azalmaz; sadece daha az karmaşa taşır.
Laravel artık bir “temiz yığın” olarak kendini tanımlıyor, geliştiriciler ve ajanslar için yönlendirmeleri, kuyrukları, kimlik doğrulamayı, başlangıç kitlerini, AI araçlarını ve uzun birinci taraf ekosistem paketleri listesini içeriyor. Bu ifade önemlidir. Laravel, fikirden üretime kadar tam bir yolu kapsıyor ve MVC sadece bir parçası.
Modern Laravel Gerçekten Neleri Optimize Ediyor?
Modern Laravel Gerçekten Neleri Optimize Ediyor?
- Yeni uygulamalarda daha az seremoni. İlk gerçek özellikten önce daha az varsayılan dosya ve daha az yapılandırma gürültüsü alırsınız.
- Ekipler için daha iyi varsayılanlar. Framework, her uygulamanın kurumsal ağır basmadan sürdürülebilir bir yapıya ulaşmasına yardımcı olur.
- Daha fazla birinci taraf aracı. Laravel, yaygın üretim ihtiyaçlarını desteklenen paketler ve hizmetler haline getiriyor.
- AI-farkında geliştirme. Laravel Boost gibi araçlar, AI ajanlarının versiyona özgü Laravel ekosistem dokümantasyonuna ve Laravel bakımı yapılan AI kılavuzlarına erişim sunar.
Bu büyük bir iş. AI kodlama araçları kullanışlıdır, ancak framework bağlamı olmadan, yarının uygulamasında dünden kalma Laravel üretme konusunda kendilerini güvenle ifade edebilirler. Bu, “neredeyse doğru” kod almanıza yol açar ki bu benim en sevmediğim hata türüdür.
Bilmeniz Gereken Popüler Laravel Servisleri
Bilmeniz Gereken Popüler Laravel Servisleri
Artık Laravel’i diğer frameworklerden farklı kılan kısma geliyoruz: etrafındaki hizmetler.
Laravel, bir şehir gibidir; sadece bir yol değil. Framework ana cadde, ancak gerçek değer tren istasyonu, elektrik şebekesi, hastaneler, teslimat güzergahları, onarım atölyeleri ve trafik lambalarından gelir. Her hizmeti ilk günden ihtiyacınız yok, ama neyin mevcut olduğunu bilmelisiniz.
Laravel Forge
Laravel Forge
Laravel Forge, sunucu tahsisi ve dağıtım yönetimidir.
Laravel uygulamalarını çalıştırmak istediğinizde, Nginx, PHP-FPM, SSL sertifikaları, dağıtım betikleri, kuyruklar, cron işleri ve ortam dosyalarını sıfırdan yapılandırmadan kullanmak için bunu kullanırsınız. Bütün bunları kendiniz yapabilir misiniz? Kesinlikle. Ama bunu her seferinde yapmak zorunda mısınız? Lütfen kendinize acı çektirmek istemiyorsanız bunu yapmayın.
Forge, kontrol sahibi klasik VPS tarzı barındırma istediğinizde en iyi şekilde çalışır. “Kendi mutfağıma sahip olmak istiyorum, ama fırını inşa etmek istemiyorum” seçeneğidir.
Laravel Vapor
Laravel Vapor
Laravel Vapor, AWS Lambda üzerine kurulmuş Laravel’in sunucusuz dağıtım platformudur. Ölçeklenebilir, sunucusuz bir platform olan Vapor, AWS Lambda, SQS kuyrukları, veritabanları, Redis kümeleri, ağlar, CloudFront ve daha fazlasını soyutlar.
Vapor, ölçeklemenin önemli olduğu ve altyapıyı göz önünde bulundurmak istemediğiniz uygulamalar içindir. Bu, bir teslimat aracına sahip olmaktan, talep arttığında otomatik olarak kamyon ekleyen bir lojistik ağı kullanmaya geçmek gibidir.
Değişim bedeli karmaşıklıktır. Sunucusuz güçlüdür, ancak soğuk başlangıçlar, kuyruklar, depolama, dosya yüklemeleri ve çalışma zamanı kısıtlamalarını anlamanız gerekir.
Laravel Envoyer
Laravel Envoyer
Laravel Envoyer, sıfır kesinti ile dağıtım yapar.
Forge sunucuları yönetirken, Envoyer dağıtımı daha güvenli hale getirir. Kullanıcılarınız değişiklikler sırasında kırık sayfalar görmeden dağıtım yapmanızı sağlar.
Analojisi basittir: Envoyer, bir arabayı hareket ederken lastiklerini değiştirmeye benzer; daha az korkunç çünkü yazılım bize simli bağlantılar sunuyor.
Laravel Nova
Laravel Nova
Laravel Nova, Laravel uygulamaları için premium bir yönetim panelidir.
İşinizin iç araçlarına ihtiyacı olduğunda Nova’yı kullanırsınız: kullanıcıları, siparişleri, abonelikleri, içerikleri, ürünleri, raporları veya destek iş akışlarını yönetin. Sıfırdan özel bir yönetim paneli oluşturabilir misiniz? Elbette. Ancak Nova, kimsenin dışarıda görmeyeceği tablolar, filtreler, işlemler, metrikler ve formlar inşa etmekten sizi kurtarır.
Nova, bir binanın etrafındaki iskele gibidir. Nihai mimari değil, ama işlerini yapanlar için daha hızlı ve güvenli hareket etmeye yardımcı olur.
Laravel Horizon
Laravel Horizon
Laravel Horizon, Redis kuyrukları için bir gösterge paneli ve yapılandırma sistemidir.
Uygulamanız e-posta gönderiyorsa, videoları işliyorsa, CSV dosyaları içe aktarırken, API’leri senkronize ediyorsa veya arka plan işleriyse, kuyruklar üretim kalp atışınızın bir parçası haline gelir. Horizon, neyin çalıştığını, neyin başarısız olduğunu, neyin beklediğini ve işçilerin nasıl davrandığını görmenizi sağlar.
Horizon olmadan, kuyruklar bir karanlık boşluğa paket yollamak gibi hissettirebilir. Horizon ile en azından izleme numaralarına sahip olursunuz.
Laravel Telescope
Laravel Telescope
Laravel Telescope, yerel ve üretim dışı ortamlar için bir hata ayıklama asistanıdır.
İstekleri, istisnaları, günlükleri, veritabanı sorgularını, kuyruklu işlerden gelen mailleri, bildirimleri, önbellek işlemlerini ve daha fazlasını gösterir. Geliştirme için, uygulamanız için güvenlik kameralarının görüntüleri gibidir.
Ne olduğunu tahmin etmiyorsunuz. Ne olduğunu görüyorsunuz.
Laravel Pulse
Laravel Pulse
Laravel Pulse, performans ve kullanım içgörüleri sunar. Yavaş işler ve uç noktalar gibi darboğazları izler, aktif kullanıcıları bulur ve uygulama davranışını anlamanıza yardımcı olur.
Pulse, Datadog veya New Relic ile tam gözlemlenebilirlikten farklıdır. Daha çok arabanızdaki gösterge tablosu gibidir: hız, yakıt, uyarı lambaları ve bir şeyin dikkat gerektirdiğini bilmek için yeterli sinyal.
Laravel Reverb
Laravel Reverb
Laravel Reverb, Laravel’in birinci taraf WebSocket sunucusudur.
WebSocket desteğini uygulamanıza doğrudan entegre eder ve Laravel’in olay yayınlama araçlarına bağlanır. Sohbetler, bildirimler, panolar, canlı güncellemeler ve gerçek zamanlı hissettiren her şey için kullanırsınız.
Reverb’den önce, gerçek zamanlı Laravel genellikle hızlıca üçüncü taraf hizmetlere başvurmak anlamına geliyordu. Reverb, Laravel-yerel yolu güçlendirdi.
Bu, uygulamanıza bir telsiz kanalı eklemek gibidir. Sayfayı yenileyip “Yeni bir şey var mı?” diye sormak yerine, sunucu “Evet, işte burada.” diyebilir.
Laravel Cashier, Scout, Sanctum, Passport, Pennant ve Octane
Laravel Cashier, Scout, Sanctum, Passport, Pennant ve Octane
Bu paketler, tekrar tekrar karşılaşacağınız pratik olanlardır.
- Cashier, faturaları yönetir. Abonelik faturalama kalıplarını sunarak, sabah 1’de Stripe mantığını yeniden icat etmemenizi sağlar.
- Scout, arama işlemlerini yönetir. Eloquent modellerine arama motorlarına ve aranabilir indekslere temiz bir yol sunar.
- Sanctum, hafif API kimliğini yönetir. Genellikle SPA’lar, mobil uygulamalar ve kişisel erişim jetonları için en dostane seçenektir.
- Passport, OAuth2’yi yönetir. Sanctum’dan daha ağırdır ama tam bir OAuth2 sunucusuna gerçekten ihtiyaç duyduğunuzda faydalıdır.
- Pennant, özellik bayraklarını yönetir. Bütün yeni özellikleri üretime atmaktansa, kademeli olarak dağıtmanıza izin verir.
- Octane, uzun süreli performansı artırır. Uygulamanızın her istekte tam framework’ü başlatmamasını sağlamak için yüksek performanslı uygulama sunucularını kullanır.
Bu noktada Laravel, “yalnızca bir framework” olmaktan çok bir ürün platformu haline gelmektedir.
Yaygın Laravel Yükseltme Sorunları
Yaygın Laravel Yükseltme Sorunları
Laravel’i yükseltmek genellikle zor kısım değildir. Varsayımlarınızı yükseltmek zordur.
Bir miras uygulaması, güzel ahşap zeminlere ve duvarların arkasında şüpheli elektrik tesisatına sahip eski bir ev gibidir. Görünür kod güzel görünebilir, ancak gerçek iş, paketlerde, özel yardımcı fonksiyonlarda, servis sağlayıcılarda, olaylarda, kuyruk işçisinde ve dağıtım betiklerinde bulunur.
Genellikle Neler Zarar Verir?
Genellikle Neler Zarar Verir?
- Eski paketler yükseltmeyi engeller. Laravel versiyonunuz hazır olabilir, ancak bir terkedilmiş paket tüm uygulamayı rehin alabilir.
- Gizli framework aşımı sürpriz yaratır. Özel istisna işleyicileri, kimlik doğrulama sağlayıcıları, makrolar ve hizmet konteyneri bağlamaları, yükseltmelerden sonra farklı şekilde davranabilir.
- Ön uç araçları ikinci bir migration haline gelir. Mix, Vite, eski Vue sürümleri, jQuery, Blade varlıkları ve derleme betikleri, PHP kodundan daha fazla iş yaratabilir.
- Testler gerçeği açığa çıkarır. Uygulamanız zayıf testlere sahipse, her yükseltme, üretim riski ile arkeolojiye dönüşür.
Profesyonel İpuçları
Profesyonel İpuçları
- Her seferinde bir ana sürüm yükseltin. Laravel 5’ten 13’e bir hareketle atlamak cesur görünse de, zincir testereleri jonglörlük yapmak kadar da risklidir.
- Öncelikle Composer kısıtlamalarıyla başlayın. Bağımlılık grafiğiniz gerçekten engelleyicilerin nerede olduğunu gösterir.
- Önce iş kritik akışları etrafında testler ekleyin. Ödemeler, kullanıcı erişimi, faturalar, içe aktarmalar, abonelikler ve yönetici işlemleri, yeniden yapılandırmadan önce korunmak için korunmalıdır.
- Yükseltme rehberini okuyun, sadece sürüm notlarını değil. Sürüm notları hikayeyi satar; yükseltme kılavuzları, zeminlerin nasıl gıcırdadığını anlatır.
Her Şeyi Toparlamak
Her Şeyi Toparlamak
Laravel’in 5. sürümünden bugüne kadar en büyük değişimi, bir özelliğin değil.
Framework’ten ekosisteme geçiş. Laravel 5, PHP uygulamalarınızı düzenlemenizde yardımcı oldu. Modern Laravel, inşa etmenize, test etmenize, dağıtım yapmanıza, izleme, ölçeklendirme, hata ayıklama, kimlik doğrulama, faturalama, yayınlama, arama yapmanıza olanak tanırken, giderek AI-farkında geliştirme araçlarıyla çalışmanıza yardımcı oluyor.
Bu, farklı bir kaldıraç seviyesidir.
Framework mükemmel olmadı. Hiçbir framework mükemmel değildir. Ama Laravel bir şeye karşı alışılmadık derecede iyi kaldı: yaygın web geliştirme kararlarını en iyi şekilde sıkıcı hale getirmek.
Ve sıkıcı altyapı güzeldir. Bu, enerjinizi ürün mantığına harcamanız anlamına gelir, tel ile değil.
Son İpuçları
Son İpuçları
Yeterince eski PHP kod tabanında çalıştığımda bir şey öğrendim: framework sürümü genellikle sorunun tamamı değildir. Bazen eski Laravel uygulaması, iş karmaşık olduğundan, ekip hızlı hareket ettiğinden ve estetik hale getirmek için zaman olmadığından karmaşık hale gelir. Oradaydım. Hiçbir yargı yok 🙂
Tavsiyem: Laravel 5’ten 13’e modernizasyonu “her şeyi yeniden yazma” misyonu olarak görmeyin. Bunu, insanların hâlâ yaşadığı bir evi yenilemek gibi düşünün: temeli sağlamlaştırın, riskli elektrik tesisatını değiştirin, bir odayı bir seferde iyileştirin ve sadece yeni bir çekiç aldığınız için duvarları yıkmayın.
Laravel, daha temiz varsayımlar, daha güçlü hizmetler ve daha akıllı araçlar için hareket etmeye devam ediyor. İşiniz, o ivmeyi kullanmak ama uygulamanın ilk etapta değerli hale getiren iş mantığını kaybetmemektir.
Sonraki Laravel yükseltme işleminizde iyi şanslar – gidip gönderin 👊
Orijinal olarak nazarboyko.com adresinde yayımlandı.
Kaynak: Orijinal Makale
- Laravel 5 Temel Dönemi
- Laravel 6’dan 8’e Profesyonelleşme Dönemi
- Laravel 9’dan 10’a Modern PHP Dönemi
- Laravel 11’den 13’e Temiz Yığın Dönemi
- Bilmeniz Gereken Popüler Laravel Servisleri
- Laravel Forge
- Laravel Vapor
- Laravel Envoyer
- Laravel Nova
- Laravel Horizon
- Laravel Telescope
- Laravel Pulse
- Laravel Reverb
- Laravel Cashier, Scout, Sanctum, Passport, Pennant ve Octane
- Yaygın Laravel Yükseltme Sorunları
- Profesyonel İpuçları
- Her Şeyi Toparlamak
- Son İpuçları


