Laravel Nedir? Laravel Nasıl Kullanılır?
Laravel Nedir?
Laravel, PHP programlama diliyle yazılmış, açık kaynak kodlu bir web uygulama çatısıdır. Taylor Otwell tarafından geliştirilmiş olup, modern web uygulamaları oluşturmak için sade ve zarif bir yapı sunar. 2011 yılında piyasaya sürülen Laravel, kısa sürede popülerlik kazanmış ve PHP ekosisteminde önemli bir yer edinmiştir.
Laravel'in Temel Özellikleri
-
MVC Mimarisi: Laravel, Model-View-Controller (MVC) mimarisini kullanır. Bu, uygulamanın iş mantığını, veri modellerini ve kullanıcı arayüzünü ayrı katmanlarda düzenleyerek, daha temiz ve bakımı kolay bir kod tabanı sağlar.
-
Eloquent ORM: Laravel'in kendi ORM (Object-Relational Mapping) sistemi olan Eloquent, veritabanı ile çalışmayı son derece basit hale getirir. Eloquent, veritabanı tablolarını modeller aracılığıyla temsil eder ve veritabanı işlemlerini nesne yönelimli bir şekilde gerçekleştirmeyi sağlar.
-
Routing: Laravel, basit ve esnek bir yönlendirme sistemi sunar. Uygulamanızın URL'lerini ve bu URL'lere karşılık gelen işlemleri tanımlamak oldukça kolaydır.
-
Blade Template Engine: Laravel, Blade adında güçlü bir şablon motoruna sahiptir. Blade, tekrar eden görevleri basitleştiren ve şablonları daha okunabilir hale getiren çeşitli direktifler sunar.
-
Artisan CLI: Laravel, Artisan adlı komut satırı aracını içerir. Artisan, rutin görevleri otomatikleştirmeye yardımcı olan çeşitli komutlar sağlar ve geliştiricilerin işlerini büyük ölçüde kolaylaştırır.
-
Middleware: Laravel, HTTP isteklerinin uygulamanıza ulaşmadan önce işlenmesini sağlayan orta katman (middleware) mekanizmasına sahiptir. Bu, yetkilendirme, oturum yönetimi ve diğer görevler için kullanışlıdır.
Laravel ile Basit Bir CRUD Uygulaması
CRUD (Create, Read, Update, Delete) işlemleri, veritabanı tabanlı uygulamalarda en sık kullanılan işlemlerden biridir. Aşağıda, Laravel ile basit bir CRUD uygulaması oluşturma adımlarını bulabilirsiniz.
Adım 1: Laravel Kurulumu
Öncelikle Laravel'i kurmak için Composer kullanmamız gerekiyor. Terminalde aşağıdaki komutu çalıştırarak Laravel projesi oluşturabilirsiniz:
composer create-project --prefer-dist laravel/laravel blog
Bu komut, blog
adında yeni bir Laravel projesi oluşturacaktır.
Adım 2: Veritabanı Ayarları
blog
projesinde, .env
dosyasını açarak veritabanı ayarlarını yapmamız gerekiyor:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD=
Adım 3: Model ve Migration Oluşturma
Bir Post
modeli ve ilgili veritabanı tablosunu oluşturmak için Artisan CLI'yi kullanabiliriz:
php artisan make:model Post -m
Bu komut, Post
modelini ve posts
tablosu için bir migration dosyası oluşturur. Migration dosyasını açarak tablo yapısını belirleyebiliriz:
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
Daha sonra migration'ı çalıştırarak tabloyu oluşturabiliriz:
php artisan migrate
Adım 4: CRUD İşlemleri için Route ve Controller Oluşturma
Artisan kullanarak bir PostController
oluşturabiliriz:
php artisan make:controller PostController --resource
Bu komut, CRUD işlemlerini yönetecek bir kaynak (resource) denetleyicisi oluşturur. routes/web.php
dosyasına aşağıdaki rotayı ekleyelim:
Route::resource('posts', PostController::class);
Adım 5: Controller ve Blade Dosyalarını Düzenleme
PostController
içerisine CRUD işlemlerini ekleyelim. Örnek olarak, index
ve create
metodlarını ele alalım:
// PostController.php
public function index()
{
$posts = Post::all();
return view('posts.index', compact('posts'));
}
public function create()
{
return view('posts.create');
}
resources/views/posts
dizininde index.blade.php
ve create.blade.php
dosyalarını oluşturalım:
<!-- index.blade.php -->
@extends('layout')
@section('content')
<h1>Posts</h1>
<a href="{{ route('posts.create') }}">Create New Post</a>
<ul>
@foreach($posts as $post)
<li>{{ $post->title }}</li>
@endforeach
</ul>
@endsection
<!-- create.blade.php -->
@extends('layout')
@section('content')
<h1>Create Post</h1>
<form action="{{ route('posts.store') }}" method="POST">
@csrf
<label for="title">Title:</label>
<input type="text" name="title" id="title">
<label for="content">Content:</label>
<textarea name="content" id="content"></textarea>
<button type="submit">Save</button>
</form>
@endsection
Sonuç
Laravel, modern web uygulamaları geliştirmek için güçlü, esnek ve kullanıcı dostu bir framework sunar. MVC mimarisi, Eloquent ORM, Blade şablon motoru ve Artisan CLI gibi özellikleri ile geliştiricilerin işlerini büyük ölçüde kolaylaştırır. Yukarıdaki örnek, Laravel ile basit bir CRUD uygulaması oluşturmanın ne kadar kolay olduğunu göstermektedir. Laravel hakkında daha fazla bilgi ve detaylı dökümantasyon için resmi Laravel dokümantasyonu ziyaret edilebilir.