Laravel, web uygulamalarını daha hızlı ve kolay bir şekilde geliştirmeyi sağlayan, açık kaynak kodlu bir PHP framework’tür. Geliştiricilere sunduğu çeşitli özellikler sayesinde web geliştiricilerinin büyük bir çoğunluğu tarafından tercih edilmektedir. Sunucu tarafında çalışan Laravel ile backend özellikler gerektiren uygulamalar geliştirmek mümkün olmaktadır. Modüler paket sistemi, yetkilendirme sistemi, obje ilişkili haritalaması, komut satırı arayüzü, otomatik test özellikleri ve sanal geliştirme ortamı gibi çeşitli özellikleri ile geliştiricilere büyük kolaylıklar sunmaktadır. Farklı framework’lerin mevcut parçalarını kullanarak web uygulaması geliştirmeyi kolaylaştırmaktadır. Bu sayede web uygulamaları daha düzgün yapıya sahip olurken aynı zamanda daha işlevsel hale gelmektedir. 

Kurulum Süreci

Kütüphaneleri ve dependency kaynaklarını yönetmek için Composer kullanılmaktadır. Laravel’i kurmadan önce Composer’ın kurulması gerekmektedir. Composer’ı https://getcomposer.org/download adresinden indirip kurabilirsiniz. Kurulum işlemi tamamlandıktan sonra komut satırına “composer” yazarak kurulumu kontrol edebilirsiniz. 

Yeni Laravel projesi için bilgisayarın herhangi bir dizinininde yeni bir klasör açmak yeterlidir. Daha sonra yolu oluşturduğunuz yeni klasöre belirlemek yeterli olmaktadır. Bu işlemden sonra aşağıdaki komutu çalıştırarak Laravel’i kurabilirsiniz. 

composer create-project laravel/laravel —prefer-diet

Bu komutu çalıştırdıktan sonra şimdilik en güncel versiyon olan 5.7’yi yüklemek gerekmektedir. Bunu yüklemek için aşağıdaki komutu çalıştırmak yeterlidir. 

composer create-project laravel/laravel test dev-develop

Yükleme işlemi tamamlandıktan sonra geriye bir tek çalıştırmak kalmaktadır. Bunun için de “php artisan serve” komutunu çalıştırmak yeterlidir. Bu komutu çalıştırdıktan sonra ekrana http://localhost:800/ gibi bir link gelecektir. Bu linki tarayıcıdan ziyaret ederek Laravel’i kullanmaya başlayabilirsiniz. 

Laravel’in Avantajları

Laravel sunduğu özellikler sayesinde birçok avantaj sağlamaktadır. Web uygulamaları daha ölçeklendirilebilir hale gelmektedir. Aynı zamanda geliştirme sürecinde diğer framework’lerin kullanımına izin vermesi sayesinde zamandan tasarruf da sağlanmaktadır. Kaynakları yönetmek ve organize etmek için ise ad alanları ve arayüzler de kullanılabilmektedir. Ayrıca içerisinde yer alan Composer ve Artisan gibi araçlar da bu avantajlar arasında yer almaktadır. Composer tüm kütüphanelerin ve kaynakların yer aldığı araçtır ve üçüncü parti kütüphanelerin kullanımına Iin vermektedir. Laravel içindeki komut satırı ise Artisan’dır. Web uygulaması geliştirme sürecinde yardımcı olmaktadır. Buradaki komutlar Sypmhony framework kaynaklıdır. 

moduler

Laravel’in Önemli Özellikleri

Laravel’i bu kadar çok tercih edilebilir yapan şeylerden bir tanesi de kullanıcılara sunduğu birbirinden farklı özellikler. 

Modüler

Uygulama geliştirme sürecini daha iyi hale getirmek için Laravel içerisinde 20 kütüphane ve modül bulunuyor. Her modül Composer ile entegre bir şekilde çalıştığı için kolaylıkla güncellenebiliyor. 

Test Edilebilirlik

Framework içerisinde farklı test senaryolarının kullanılabileceği özellikler ve yardımcılar yer alıyor. Bu sayede test sonuçlarına göre kodu optimize etmek ve sadece gerekli olan kodun kalmasını sağlamak mümkün hale gelmektedir. 

Routing

Laravel kullanıcılara uygulama içerisinde esnek bir dağıtım seçeneği sunmaktadır. Routing ile uygulamayı daha iyi ölçeklendirme ve performansını arttırmak mümkün hale gelmektedir. 

Konfigürasyon Yönetimi

Bu framework ile geliştirilen web uygulaması farklı ortamlarda çalıştırılabilir. Bu nedenle yapılandırılmasında sürekli değişiklikler gerekmektedir. Laravel ile konfigürasyon yönetimi etkili bir şekilde gerçekleştirilebilmektedir. 

Sorgu Oluşturma ve ORM

Sorgu oluşturucu ile basit zincir metodları kullanarak veritabanı sorgulamasına yardımcı olunmaktadır. Eloquent adında ORM (Object Relational Mapper) ve ActiveRecord eklentisi yer almaktadır. 

Şema Oluşturucu

Schema Builder, veri tabanı açıklamalarını ve şemaları PHP kodunda taşımaktadır. Ayrıca veritabanı değişimleri için değişiklik takibi de sağlamaktadır. 

Template Motoru

Framework içerisinde yer alan Blade Template motoru içerisinde dinamik içeriğin de yer aldığı önceden belirlenmiş bloklara sahip düzenler ile hiyerarşik blok tasarımı için kullanışlı bir dildir. 

E-Posta

Laravel içerisinde zengin içerik ve eklenti ile web uygulaması içerisinde e-posta göndermeyi sağlayan bir mail sınıfı da yer almaktadır. 

Kimlik Doğrulama

Kullanıcı kimliği doğrulama günümüzde web uygulamalarında sıkça kullanılan bir özelliktir. Kayıt, şifre unutma ve şifre hatırlatıcı gönderme gibi özellikleri sayesinde Laravel kimlik doğrulama tasarımını çok daha kolay hale getirmektedir. 

redis

Redis

Mevcut oturumu ve genel amaçlı önbelleği bağlamak için Redis bulunmaktadır. Redis direkt olarak oturumla etkileşime geçmektedir. 

Kuyruklar

Özel bir Cron ya da çok sayıda kullanıcıya e-posta gönderme gibi kuyruk servisleri de framework’ün içerisinde yer almaktadır. Bu kuyruklar önceki görevin tamamlanmasını beklemeden diğer görevlerin tamamlanmasını daha kolay hale getirmektedir. 

Laravel’in CMS’ten Farkı Nedir?

Drupal ya da WordPress gibi popüler CMS uygulamalarının aksine Laravel kullanıcıya uygulama üzerinde tam kontrol sağlanmaktadır. Drupal ya da Joomla ile tek bir satır kod yazmadan ya da hiç PHP bilmeden fonksiyonel bir internet sitesi yapabilmek mümkündür. Ancak Laravel ile yapılan her şey için kod gereklidir. CMS uygulaması basit özelikleriyle bir framework üzerine yerleştirilmiştir. Laravel ile CMS platformları da dahil olmak üzere uygulamalar geliştirilmektedir. 

Laravel Öğrenmek Kolay mı?

Özellikle PHP bilen kişiler için Laravel kullanmak son derece basittir. Detaylı hazırlanmış dokümantasyonları aracılığıyla öğrenilebilir. Ayrıca topluluk tarafından hazırlanmış olan videolar, podcast’ler ve yazılı eğitimler de yardımcı olmaktadır. Ancak framework’ün temelinde PHP yer almaktadır. Bu nedenle PHP bilmeden Laravel çalışmak çok verimli olmamaktadır. Kısacası bu framework’ü kullanabilmek için PHP ve OOP konseptlerini anlamak ve alt yapısının nasıl çalıştığını bilmek gereklidir.