Laravel

Vikipedi, özgür ansiklopedi
Şuraya atla: kullan, ara
Laravel
Geliştirici(ler) Taylor Otwell
Kararlı sürüm 5.3.0 / 23 Ağustos 2016
Programlama dili PHP
İşletim sistemi Cross-platform
Tür Web Uygulama İskeleti
Lisans MIT License
Resmî sitesi http://www.laravel.com

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ı.

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]

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

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 imkan 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 imkanı 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[değiştir | kaynağı değiştir]

Dış bağlantılar[değiştir | kaynağı değiştir]