Laravel

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

Laravel
Geliştirici(ler) Taylor Otwell
Güncel sürüm 7.0.8 / 8 Mart 2020
Programlama dili PHP
İşletim sistemi Cross-platform
Tür Web Uygulama İskeleti
Lisans MIT Lisansı
Resmî sitesi http://www.laravel.com
Kod deposu

2014 ve 2015 yıllarında Sitepoint 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çin composer paket yöneticisini tercih etmiştir[5]. Yine versiyon 4'ten itibaren Doctrine, Monolog gibi paketlerin yanı sıra web iskeletini oluşturan komponentler için Symfony2 paketlerinden 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]

Özellikler

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 ORM kullanımı basit ve kullanışlı bir ActiveRecord mimari deseni uygulamasıdır. Veritabanındaki her bir tabloya karşılık gelen bir model sı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 olarak URL oluş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 deseninin View (V) kısmına çözüm sağlanır. View için blade kullanmak 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.
  • XSRF gü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üksek I/O gerektiren 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üler SwiftMailer kü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.

Kaynakça

Dış bağlantılar

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.