Laravel: Sıfırdan İleri Seviye

Ders 1/17 45 dakika

Laravel'e Giriş ve Kurulum

Laravel nedir, neden kullanmalıyız, geliştirme ortamı kurulumu ve ilk projeyi oluşturma.

Laravel Nedir?

Laravel, Taylor Otwell tarafından 2011 yılında geliştirilen ve PHP dünyasının en popüler framework'ü haline gelen açık kaynaklı bir web uygulama çerçevesidir. "Web Artisans" için tasarlanmış olan Laravel, karmaşık uygulamaları bile keyifli ve elegant bir şekilde geliştirmenizi sağlar.

💡 Fun Fact: Laravel ismi, C.S. Lewis'in Narnia Günlükleri'ndeki "Cair Paravel" kalesinden esinlenmiştir.

Neden Laravel Öğrenmelisiniz?

1. Pazar Talebi

  • PHP projelerinin %70+'ı Laravel kullanıyor
  • Indeed ve LinkedIn'de en çok aranan PHP framework'ü
  • Freelance pazarında yüksek talep

2. Güçlü Ekosistem

  • Laravel Forge: Sunucu yönetimi ve deployment
  • Laravel Vapor: Serverless deployment (AWS)
  • Laravel Nova: Admin panel
  • Laravel Livewire: Reaktif UI (JavaScript yazmadan)
  • Laravel Inertia: Modern SPA deneyimi

3. Developer Experience (DX)

  • Elegant ve okunabilir syntax
  • Kapsamlı dokümantasyon
  • Aktif topluluk ve Laracasts eğitimleri
  • Artisan CLI ile hızlı geliştirme

MVC Mimarisi

Laravel, Model-View-Controller (MVC) mimari desenini kullanır:

┌─────────────────────────────────────────────────────┐
│                    HTTP Request                      │
└─────────────────────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────┐
│                      Router                          │
│              (routes/web.php)                        │
└─────────────────────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────┐
│                   Controller                         │
│           (app/Http/Controllers/)                    │
│    - İsteği alır                                     │
│    - Model ile iletişim kurar                        │
│    - View'a veri gönderir                            │
└─────────────────────────────────────────────────────┘
            │                           │
            ▼                           ▼
┌──────────────────────┐    ┌──────────────────────┐
│        Model         │    │         View         │
│   (app/Models/)      │    │   (resources/views/) │
│  - Veritabanı        │    │  - HTML şablonları   │
│  - İş mantığı        │    │  - Blade engine      │
└──────────────────────┘    └──────────────────────┘
            │                           │
            ▼                           ▼
┌──────────────────────┐    ┌──────────────────────┐
│      Database        │    │    HTTP Response     │
└──────────────────────┘    └──────────────────────┘

Gereksinimler

GereksinimMinimum VersiyonÖnerilen
PHP8.18.3
Composer2.xEn güncel
Node.js16.x20.x (LTS)
VeritabanıMySQL 5.7+ / PostgreSQL 10+MySQL 8+ / PostgreSQL 15+

Kurulum Yöntemleri

Yöntem 1: Laravel Herd (Önerilen - macOS/Windows)

Laravel Herd, Laravel geliştirme ortamını tek tıklamayla kurar:

# herd.laravel.com adresinden indirin
# Kurulumdan sonra terminal'de:
herd install

# Yeni proje oluşturma
cd ~/Herd
laravel new my-project

Yöntem 2: Laravel Installer

# Laravel Installer'ı global olarak kurun
composer global require laravel/installer

# PATH'e ekleyin (~/.bashrc veya ~/.zshrc)
export PATH="$HOME/.composer/vendor/bin:$PATH"

# Yeni proje oluşturun
laravel new my-project

# Projeyi çalıştırın
cd my-project
php artisan serve

Yöntem 3: Composer Create-Project

# Installer kurmadan direkt proje oluşturma
composer create-project laravel/laravel my-project

cd my-project
php artisan serve

# Tarayıcıda açın: http://127.0.0.1:8000

Yöntem 4: Laravel Sail (Docker)

# Docker Desktop kurulu olmalı
curl -s "https://laravel.build/my-project" | bash

cd my-project
./vendor/bin/sail up

# http://localhost adresinden erişin

İlk Proje Oluşturma

# Proje oluştur
laravel new blog

# Proje dizinine gir
cd blog

# .env dosyasını kontrol et
cat .env

# APP_KEY oluştur (genelde otomatik)
php artisan key:generate

# Geliştirme sunucusunu başlat
php artisan serve --port=8080

# Tarayıcıda: http://127.0.0.1:8080

Artisan CLI

Artisan, Laravel'in komut satırı aracıdır. Birçok tekrarlayan görevi otomatize eder:

# Mevcut komutları listele
php artisan list

# Yardım al
php artisan help make:controller

# Sık kullanılan komutlar
php artisan make:controller UserController
php artisan make:model Post
php artisan make:migration create_posts_table
php artisan migrate
php artisan serve
php artisan tinker  # İnteraktif PHP shell

VS Code Eklentileri

Verimli Laravel geliştirme için önerilen VS Code eklentileri:

  • Laravel Extension Pack: Tüm Laravel eklentilerini içerir
  • PHP Intelephense: PHP otomatik tamamlama
  • Laravel Blade Snippets: Blade snippet'leri
  • Laravel Artisan: Artisan komutlarını VS Code içinden çalıştır
  • DotENV: .env dosya renklendirme
  • EditorConfig: Kod standardı

Önemli Noktalar

  • Laravel, PHP'nin en popüler ve güçlü framework'üdür
  • MVC (Model-View-Controller) mimarisi kullanır
  • Composer ile paket yönetimi yapılır
  • Artisan CLI geliştirmeyi hızlandırır
  • Laravel Herd veya Sail ile kolay geliştirme ortamı