Laravel Nedir? Nasıl Kurulur?

Laravel Nedir?

Laravel ihtiyaç duyulan, gelişmiş bir çok özellik ve yapıyı üzerinde barındıran, en küçük uygulamadan oldukça geniş projelere kadar yazılım yapabileceğiniz MVC yapısına sahip PHP ve OOP tüm özelliklerinden yararlanan, web uygulamaları geliştirmeyi sağlayan açık kaynak PHP framework’ tür. 2015 ve 2016 yıllarında sitepoint tarafından yapılan en popüler framework anketinde üst üste iki sene liderliği kazanmıştır.

 

Laravel Özellikleri

Yapısı gereği gerçekten çok sade ve temiz kod yazarak istediğiniz uygulamaları geliştirme imkanı verir. Kısa bir süre içinde öğrenilerek projelerinizi geliştirebilirsiniz. Bağımlılık yöneticisi olarak composer kullanması sebebiyle çakışma olmadan gerekli bileşenleri projenize ekleyebilirsiniz. Söz dizimi çok basit ve anlamlıdır. Alışmak için zorlanmazsınız, çabuk öğrenilebilir. İçinde hazır bulunan auth mekanızması ile kullanıcı sistemi olan hatta çoklu giriş (müşteri , firma , admin) gibi yapılara kadar destek vermektedir. OOP yapısına uygun olması sebebiyle projenize belli bir zaman sonra bile dönseniz kolay bir şekilde geliştirmeye devam edebilirsiniz. Kullandığı PSR-4 sdandartları ile sadece laravel için değil psr-4 ile yazılmış paketleri de kolaylıkla dahil edebilirsiniz.

 

Eloquent

Eloquent yapısı ORM sistemi üzerine kurulmuş Aktif Kayıt mekanizmasıyla çalışan bir veritabanı sistemidir. Her veritabanı tablosu Model adı verilen obje sınıflarıyla haberleşir ve birbirleriyle bağ kurar. Bu sayede sql cümleleri yazmadan veritabanı sisteminden bağımsız olarak çalışabilirsiniz. Örneğin Mysql ile başladığınız sistemi ileride kolayca PostgreSQL, Oracle, SQLite veya MSSql sistemine çevirebilirsiniz.

Post::find(1);

Yukarıdaki gibi bir kullanım ile idsi 1 olan posts tablosundaki veriyi getirebilirsiniz. Tablo ismi otomatik olarak çoğulu olsada düzenlenebilir. Ama standartlara uymak sizin için her zaman kolaylık olacaktır.

 

ORM

ORM Nedir önce onu açıklarsak; (Object Relational Mapping) Database ile uygulamamızda (Object-Oritented) nesnelerimiz sayesinde bağlantı kurup yönetmemizi sağlayan bir yapıdır. Klasik SQL cümleleri yazmadan nesnelerimiz üzerinden veri tabanına erişim sağlayıp kontrol edebiliyor sorgular çalıştırabiliyoruz. ORM database den bağımsız çalışır. Yani Mysql, SQLite, postgresql, MSSql, Oracle gibi bir çok database için aynı kodları kullanırsınız.

Laravel Eloquent ORM kullanır. En gelişmiş Active Record uygulamasıdır.

class Message extends Eloquent {}
$message = Message::find(1);

Gördüğünüz gibi çok basit kullanılabilir bir yapısı vardır. Sizi bir çok tanımlama yapmak uzun cümleler yapılar kurmaktan kurtarır.

Messages (“s” Siz table belirtmez iseniz çoğul hali olan “s” takısını ekleyerek database de tablo seçer) tablosundan id = 1 olan mesajı getirir.

 

Blade Template

Blade adı verilen template engine sahiptir. Uygulamanıza yine çok kolay ve sade şekilde arayüzle bütünleştirebilir.

 

Route

İyi bir route (yönlendirme) mekanizması vardır. Yorulmadan temiz URL elde eder api ler için uygun erişim yönlendirmeleri yapabilirsiniz. Php yapısında yabancı olmadığınız şekilde.

Route::get('users', function()
{
   return 'Users!';
});

Burada ister yönlendirmelerinizi yapabilir ister filtrelerden kontrollerden geçirebilir ister Controller class larınıza yönlendirebilirsiniz. Hatta burada bu fonksiyonda uygulamanızın gerçekleştireceği işlemleri dahil controller class lara gerek kalmadan gerçekleştirebilirsiniz.

 

Migrations (Sürüm Kontrolü, Göçler)

Veri tabanı sürüm kontrol sistemidir. Artisan Komut Satırı ile uygulamanızın veritabanına şemalar ekleyebilir düzenleyebilirsiniz. Veri tabanı yönetim sistemine gitmeden sisteminizdeki veritabanınızı oluşturmaya yada güncellemeye yarayan yapı. Örneğin uygulamanızı başka bir ortama taşıdınız, veri tabanını oluşturmaya çalışmaktansa uygulamanızda ki hali hazırdaki yapıyı çalıştırarak sistemi hazır hale getirmiş olursunuz.

 

Unit Test (Birim Test)

Uygulamanızı test etmek için birim testler oluşturup çalıştırmanızı sağlar. Artisan komut satırıyla hazırladığınız testleri çalıştırabilirsiniz.

 

 

Modüler paket yönetimi ve composer

Composer, uygulamanızın üçüncü parti paketlerini kontrol edip hızlı şekilde ekleyip yönetmeyi sağlar. Composer ile bağımlılıklarınızı paketlerinizi dert etmez tek tek uğraşmak yerine çok kolay bir şekilde dahil edebilirsiniz.

 

Performans

Cache mekanizmaları sunar. Redis ile bütünleşmiş bir yapısı vardır. Projenize redis dahil etmek için ekstra uğraşmanıza gerek yoktur .Çok hızlı ve basit şekilde yapılandırabilirsiniz.

Dahili olarak auth, filter gibi bir çok yapıyı içinde barındırmaktadır. Bunu yine kendi yapısına uygun ve basit şekilde sunar. Hemen hemen her uygulamada auth mekanizması olur ve bunu yapmak için ekstra çabaya girersiniz. İşte laravel bunu da pas geçmemiş çok güzel bunun gibi yapılarda sunmuştur.

Bir çok Symfony bileşeni üzerine kurulmuştur.

Güvenli, hızlı, sitenizi ayağa kaldırmak çok kolaydır.

Tek komutla sitenizi aktif hale veya yapım aşamasına alma gibi seveceğiniz bir çok özelliği daha mevcuttur.

 

Topluluk

Bir yapıda en büyük özelliklerden birisi de topluluktur. Başınız sıkıştığında yardım alabileceğiniz, danışacağınız, müthiş örnekler ve çözümler bulabilmeniz gibi bir çok yardımı dokunur.

 

 

 

Laravel Nasıl Kurulur

Composer ile kurulum

composer create-project laravel/laravel xxx –prefer-dist

Komutu yazdığınız konumda xxx diye bir klasör açarak laraveli kurar.

Git ile kurulum

git clone https://github.com/laravel/laravel.git

git komutu ile bilgisayarınıza çektiğiniz projeyi laravel klasörünün içine atmaktadır. Sonrasında ise composer ile kurulum yapmanız gerekiyor.

composer install

Laravelin diğer bir güvenlik yapısı ise virtual host ettğiniz yeri projenin public klasörü olarak gösterirseniz ki doğrusu budur. Diğer klasörlere doğrudan web üzerinden erişilemez. Bu sayede içinde hassas veriler içeren .env dosyasına erişilemez.

Sunucunuzdan laraveli indirdiğiniz dizine gelirseniz, public klasöründe laravel in çalıştığını görürsünüz. Laravel logosunun karşlıladığı bir sayfa görüyorsanız her şey yolundadır.

Sunucunuzun “app/storage” dizinine yazma izni vermeniz gerekebilir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir