İçeriğe atla

Laravel

Vikipedi, özgür ansiklopedi
Laravel
Orijinal yazar(lar)Taylor Otwell
Geliştirici(ler)The Laravel Team
İlk yayınlanmaHaziran 2011(13 yıl önce)(2011-06)
Güncel sürüm10.x / 14 Şubat 2023(18 ay önce)(2023-02-14)
Programlama diliPHP
İşletim sistemiCross-platform
TürWeb Uygulama İskeleti
LisansMIT Lisansı
Resmî sitesihttp://www.laravel.com
Kod deposuBunu Vikiveri'de düzenleyin

Laravel,[1]MVCyapısında web uygulamaları geliştirme için tasarlanmış ücretsiz,açık kaynakPHPweb uygulama iskeletidir.Laravel,GitHubsitesinde barındırılan kaynak kodu ile birlikte, MIT lisansı altında yayınlandı.

Taylor Otwell, Laravel'i kullanıcı kimlik doğrulaması (authentication) ve yetkilendirme (authorization) için yerleşik destek gibi belirli özellikleri sağlamayan CodeIgniter framework'üne daha gelişmiş bir alternatif sağlama girişimi olarak geliştirdi. Laravel'in ilk beta sürümü 9 Haziran 2011'de kullanıma sunuldu, ardından aynı ay içinde Laravel 1 sürümü yayınlandı.

2014 ve 2015 yıllarındaSitepoint30 Mayıs 2014 tarihindeWayback Machinesitesindearşivlendi.tarafından yapılan en popüler PHP uygulama iskeletleri anketlerinde Laravel iki sene üst üste en üst sırada yer aldı.[2][3]Nisan 2015 tarihindeki verilere göre Laravel github'da barındırılan PHP projeleri arasında en çok takip edilen ve en popüler projedir.[4]

Laravel, versiyon 4'ten itibaren bağımlılık yönetimi (dependency management) içincomposerpaket yöneticisini tercih etmiştir.[5]Yine versiyon 4'ten itibarenDoctrine,Monologgibi paketlerin yanı sıra web iskeletini oluşturan komponentler içinSymfony2paketlerinden yararlanmaktadır.[6]

Versiyon 5 ile birlikte dizin yapısında önemli bir değişikliğe gidilmiş ve PSR-4 standartlarına daha uyumlu bir yapı haline getirilmiştir.[7]

Versiyon 7 3 Mart 2020'de yayınlanmıştır. Laravel 7 ile birlikte yeni bir özellik olan Laravel Airlock ekosisteme eklenmiş ve rota hızı (routing speed) geliştirmeleri ile özel Eloquent ORM sınıflarını içeren birçok yenilik kullanıcılara sunulmuştur.[8]

Laravel 8, 8 Eylül 2020'de Laravel Jetstream, model factory sınıfları, migration squashing, pagination tasarımı için Tailwind CSS ve diğer kullanılabilirlik iyileştirmeleri gibi yeni özelliklerle piyasaya sürüldü.[9]

En son Laravel sürümü, 8 Şubat 2022'de piyasaya sürülen Laravel 9'dur. Route için controller metodu, anonymous migration, yeni str fonksiyonları gibi birçok yeniliklerle birlikte yayınlanmıştır.[9]

Laravel' in en önemli tasarım noktaları aşağıda listelenmiştir:

  • Composer sayesinde hem iskelet bağımsız hem de laravel'e özgü yazılmış paketlerin kullanımına imkân verir.
  • Eloquent ORMkullanımı basit ve kullanışlı birActiveRecordmimari deseniuygulamasıdır. Veritabanındaki her bir tabloya karşılık gelen birmodelsınıfı bulunur. Bu sınıf kullanılarak oluşturulan nesneler ile akıcı arabirim (fluent interface) kullanılarak sorgular oluşturulabilir.
  • Yüksek kabiliyetli rota (route) tanımları ile bağlantılar programatik olarak oluşturulur. Rotalara isim vermek ya da rotaya cevap veren controller ve action tanımları ile programatik olarakURLoluşturmak mümkündür. Böylece SEO ya da diğer ihtiyaçlar nedeniyle gereken URL değişikliklerinin projenin genelinde kullanılan linklerde otomatik olarak görülmesini mümkün kılar.
  • Güçlübladeşablon dili ile MVC mimari desenininView(V) kısmına çözüm sağlanır.Viewiçinbladekullanmak mecburi değildir, öntanımlı olarak PHP dilinin kendisi de bir şablon dili olarak tercih edilebilir.
  • İçerisinde kimlik doğrulama (authentication) ile ilgili hazır yapı bulunmaktadır. Yapı aktif hale getirildiği zaman yetkilendirmenin yanı sıra e-posta onaylama, "şifremi unuttum" özelliği gibi ihtiyaçlar için başlangıç dosyaları otomatik oluşturulur.
  • XSRFgüvenlik açığı için hazır çözümü bulunmaktadır.
  • Migration ve data seeder özellikleri ile veritabanı şeması versiyonlaması ve otomatik veri girişi imkânı sağlamaktadır.
  • YüksekI/Ogerektiren ya da uzun süren işler için queue kütüphanesine sahiptir.
  • Arka planda ya da komut satırı üzerinden çalışması gereken programlar için altyapı sağlamaktadır.
  • Çoklu dil desteği bulunmaktadır.
  • PopülerSwiftMailerkütüphanesi üzerine kurulu e-posta gönderim kütüphanesi mevcuttur.
  • Birim testleri(unit testing) ve fonksiyonel testler (functional testing) için gerekli altyapı iskelete entegre edilmiş durumdadır.
  • Otomatik sayfalama desteği ile dizi ya da veritabanı sonuçları kolayca sayfalandırılabilir.

Örnek Laravel kodu

[değiştir|kaynağı değiştir]
<?php

useIlluminate\Support\Facades\{Route,Mail};
useApp\Models\User;

Route::get("/users/{user}",function(User$user){
return$user;
});

Route::post("/users",function(App\Http\Requests\CreateUserRequest$request){
$user=User::create($request->validated());

Mail::to($user->email)->send(newApp\Mail\WelcomeMessage);

return$user;
});
  1. ^"Arşivlenmiş kopya".25 Nisan 2014 tarihinde kaynağındanarşivlendi.Erişim tarihi: 29 Mayıs 2014.
  2. ^"Arşivlenmiş kopya".6 Haziran 2014 tarihinde kaynağındanarşivlendi.Erişim tarihi: 30 Mayıs 2014.
  3. ^"Arşivlenmiş kopya".2 Nisan 2015 tarihinde kaynağındanarşivlendi.Erişim tarihi:2 Nisan2015.
  4. ^Github PHP Dili için en popüler projeler15 Aralık 2019 tarihindeWayback Machinesitesindearşivlendi.-En son Nisan 2015'te kontrol edilmiştir.
  5. ^"Laravel 4 Changelog - Changes from Laravel 3".2 Nisan 2015 tarihindekaynağındanarşivlendi.Erişim tarihi:2 Nisan2015.
  6. ^"Laravel 4 Wiki".8 Eylül 2013 tarihindekaynağındanarşivlendi.Erişim tarihi:2 Nisan2015.
  7. ^"Larave 5 Changelog".2 Nisan 2015 tarihinde kaynağındanarşivlendi.Erişim tarihi:2 Nisan2015.
  8. ^"Arşivlenmiş kopya".10 Mart 2020 tarihinde kaynağındanarşivlendi.Erişim tarihi:9 Mart2020.
  9. ^ab"Laravel - The PHP Framework For Web Artisans".laravel.com(İngilizce). 7 Şubat 2021 tarihinde kaynağındanarşivlendi.Erişim tarihi:26 Mart2022.

Dış bağlantılar

[değiştir|kaynağı değiştir]