Sektörde bir çok alanda yazılım uzmanı bulunuyor. Ancak yeni çıkan frameworkler kendilerini ön plana çıkarmaktadır. Tıpkı Laravel gibi...
Laravel
nedir ? Tanıyalım
Şimdiye kadar web dünyasında en hızlı büyüyen yapıdır.
Taylor Otwell adlı bir şahıs tarafından tasarlanmıştır.
PHP 5.3′ün tüm yeni güzelliklerini içinde kullanılabiliyor yani PHP 5.3
tam destekler.
Bu Code Ignitere göre daha iyi nesne yönelimli olduğunu gösterir.
Laravel in avantajlarından birisi de yerleşik kimlik doğrulama (auth) ve
yetkinlendirme ve kendi içinde bulunan güçlü bir ORM (Eloquent) yapısıdır.
Laravel henüz çok yeni lakin çok
hızlı olarak büyümektedir.
Hızla geliştiği ve değiştiği için çekirdek geliştiricisi fazla değildir..
Şu anda 4. sürüm ile 3. sürüm karşılaştırıldığında 4 çok büyük bir sürümdür.
Laravel
eğlencelidir ve rahat bir kod yazma olanağı sağlar
Laravel esneklik ve anlamlılık vurgulayan güçlü bir framework yapısıdır.
Laravel yeni kullanıcılar için en popüler ve hafif PHP frameworküdür,
basittir, sadedir.
Daha deneyimli kullanıcılar için diğer frameworklerde mümkün olmayan yollarla
kod yazma imkanı verir. Laravel esnekdir ve etkileyicidir sizin ve
ekibiniz için sade ve kolay okunur olması ekip çalışmanızda verimliliğinizi
artırmanıza neden olur.
Laravel bir geliştiricinin çok küçük sitelerden büyük kurumsal uygulamalara
kadar her şeyi oluşturmak için gereken esnekliği veren felsefe ile
tasarlanmıştır.
Başka
frameworklerden farkı nedir ?
Laravel diğer frameworklerden bir
çok yönden farklıdır.
1-Bundles (Paketler)
(V3)
Laravelın modüler paketleme
sistemi vardır.
Laravel Bundle (paket) Deposuna kolayca uygulama ekleyebilir pek çok
özellik koyabilirsiniz, diğer geliştiricilerin paketlerini ekleyebilirsiniz,
kendiniz kolayca paket yapabilirsiniz.
“mesela smarty ile çalışmak için smarty kütüphanesi eklenebilinir.”
Bu paketleri çok kolay bir şekilde
otomatik olarak yüklemek için “Artisan” komut satırı (CLI) aracını
kullanabilirsiniz.
2-ORM
Nedir?
ORM sayesinde SQL sorgularıyla
yapılan birçok işlem SQL sorgusu kullanılmadan yapılır. Örneğin veritabanından
veri çekmek için SELECT sorgusu yerine oluşturmak yerine oluşturulan nesneden
ID’si XXX olan eleman gelsin diyerek veritabanından o elemanı alabiliriz veya
araç ismi FORD olanları kolayca listeledebiliriz, ORM veritabanından
bağımsızdır, aynı kod sqlite, mysql, postgresql, mssql, oracle ve
diğerlerinde değişikliğe gerek olmadan çalışır ve daha bir sürü özelliği
vardır.
Eloquent
ORM en gelişmiş PHP ActiveRecord
uygulamasıdır. Eğer kullanmışsanız Code Igniter active record kullanmakdadır.
Kolayca ilişkiler ve iç içe geçmiş bir ActiveRecord sınıfı ile kolaylıkla
veritabanı işlemlerinizi sql sorgusu yazmadan yapabilirsiniz.
3- Application
Logic (Uygulama Mantığı)
Uygulama katmanı sayesinde daha önce
herhangi bir framework’e aşina olanlar yada yeni başlayanlar için benzer bir
söz dizimi vardır. Router (yönlendirme işlemleri kolayca yapılır)
Laravel bir geliştiricinin çok küçük sitelerden büyük kurumsal uygulamalara kadar
her şeyi oluşturmak için gereken esnekliği veren felsefe ile tasarlanmıştır.
4-Reverse
Routing (Ters Yönlendirme)
Laravel sizin istediğiniz, izin verdiğiniz şekilde link oluşturmanızı sağlar,
diğer router yapılarından çok daha esnekdir. Bağlantıları oluştururken yolu
doğru kullandığınızda Laravel otomatik olarak doğru URI yi ekler. Daha sonra
yolları değiştirdiğinizde ilgili bağlantıların site genelindeki tüm yolları
(linkleri) Laravel tarafından güncellenir.
5-Restful
Controllers (Dinleyici kontrolller)
Dinlendirici Kontrolörleri sizin GET
ve POST isteklerinizi ayırmak için isteğe bağlı bir yoldur. Örneğin bir
kullanıcı girişi uygulaması yapıyorsunuz burada get_login() eylemi veya
post_login () eylemi ile gönderilen formu doğrulayabilirsiniz veya hata mesajı
göndererek formu yönlendirebilirsiniz.
6- Class
Auto Loading (Otomatik Sınıf Yükleme)
Otomatik bir yükleyici ile sınıflarınıza yapılandırma ve tekrar tekrar istekde
bulunmazsınız böylece sisteminize gereksiz bileşenleri eklemezsiniz.Bir sınıf yada
modeli kullanmak ister misiniz?
Sadece auto loading de tanımlayın. Laravel geri kalanı yapacaktır.
7- View
Composers
Bir görünüm yüklendiğinde
çalıştırılabilir kod yapısıdır. Buna iyi bir örnek rastgele blog mesajları
listesini içeren bir blog yan navigasyon görünümü olacaktır. Sizin view
composer için yapmanız gereken tüm görünümü yüklemek ve sizin için tüm
hazır böylece blog mesajlarını yükleyen bir yapı oluşur. Bu kontrol yöntemi
sayfa içeriği ile ilgili olmayan manzarası için modellerden uzak
durmanızı sağlar. Yani gereksiz olan model ve diğer sınıfları yapılandırabilirsiniz.
8- IOC
Container (Kontrol Ters)
Yeni nesne metodları üretebilmenizi
ve isteğe bağlı olarak bunların tekil örneğini oluşturmanızı sağlar. IoC ile
nadiren hiç önyükleme yapmadan herhangi harici kütüphaneleri dahil
edebilirsiniz. Ayrıca esnek olmayan bir monolitik bir yapı ile başa çıkmaya
gerek kalmadan her yerde kodunuzda bu nesnelere erişebilirsiniz.
9- Migrations (Sürüm
Kontrolü, Göçler)
Veritabanı şemaları ile sürüm kontrolü doğrudan Laravel’e entegre edilmiştir.
Sürüm kontrolü oluşturmak ve kontrol için “Artisan” komut satırı yardımcı
programını kullanabilirsiniz. Başka bir üyenin şemasını yerel depoda
bulunan kopyası güncelleyebilirsiniz ve şema değişiklikleri yapabilirsiniz.
10- Unit-Testing (Önceden Olasılık Kontrülü, Birim Test)
Laravel’in önemli bir parçasıdır. Sistemdeki değişiklere karşılık emin
olamayacağınız test edebilirsiniz. Laravel endüstride yaygın olan en istikrarlı
ve kabul edilir yapıları bulundurur.
Laravel bunun için size kendi kodu için birim testleri yazmanızı sağlar. Daha
sonra “Artisan” komut satırı yardımcı programı ile test edip
çalıştırabilirsiniz.
11- Automatic
Pagination (Otomatik Numaralandırma)
Sayfalama yapılandırması gruplandırması ile kodun darmadağın olmasını
engeller. Tablo kayıtlarının sayısını alma, geçerli sayfadaki konumu sayfalama
birçok işlemi Laravel sizin için kendisi kolaylıkla halleder.
Laravel en iyi sayfalama sistemini uygulamak ve kolayca değiştirmek üzere
tasarlanmıştır. Laravel birçok işlemi otomatik de yapabilir isterseniz kendiniz
de elle yapabilirsiniz.
12- Uygulama
Yapısı (Application Structure)
Laravel dizin yapısı, diğer popüler PHP framework kullanıcılarına tanıdık
olacak şekilde tasarlanmıştır. Herhangi bir şekil veya boyuttaki web
uygulamalarına kolayca benzer, diğer frameworklerin oluşturduğu bir yapı
Laravel’de de kolayca yapılır .