Laravel Nedir? Laravel Nasıl Kullanılır?


Abone Ol

Büyük-Küçük

+ -

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

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

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

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

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

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

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