pexels_temp

Laravel ile Web Uygulamaları: Başlangıç Rehberi

Laravel ile PHP Web Uygulamaları Geliştirme: Başlangıç Seviyesi Eğitimi

Laravel, modern PHP web uygulamaları geliştirmek için popüler ve güçlü bir çerçevedir. Bu kapsamlı başlangıç seviyesi eğitimi, Laravel’in temellerini anlamanıza ve kendi web uygulamalarınızı oluşturmaya başlamanıza yardımcı olacaktır.

İçindekiler

  1. Laravel Nedir?
  2. Neden Laravel?
  3. Gereksinimler
  4. Laravel Kurulumu
  5. Laravel Proje Yapısı
  6. Routing (Yönlendirme)
  7. Controllers (Denetleyiciler)
  8. Views (Görünümler)
  9. Blade Şablon Motoru
  10. Migration (Veritabanı Geçişleri)
  11. Model (Veritabanı Modelleri)
  12. Eloquent ORM
  13. Formlar ve Veri İşleme
  14. Doğrulama (Validation)
  15. Kimlik Doğrulama (Authentication)
  16. Oturumlar (Sessions)
  17. Middleware
  18. Laravel Paketleri
  19. Hata Ayıklama (Debugging)
  20. Sonuç

Laravel Nedir?

Laravel, açık kaynaklı, ücretsiz bir PHP web uygulama çerçevesidir. Zarif sözdizimi ve güçlü özellikleriyle bilinir. Geliştirme sürecini hızlandırmaya ve daha sürdürülebilir, test edilebilir ve ölçeklenebilir uygulamalar oluşturmaya yardımcı olur. MVC (Model-View-Controller) mimari desenini kullanır.

Neden Laravel?

  • Hızlı Geliştirme: Hazır bileşenler ve araçlar sayesinde geliştirme süresini kısaltır.
  • Güvenlik: Güvenlik özellikleriyle (CSRF koruması, XSS önleme vb.) uygulamalarınızı korur.
  • Ölçeklenebilirlik: Büyük ve karmaşık uygulamalar için uygundur.
  • Topluluk Desteği: Geniş ve aktif bir topluluğa sahiptir.
  • Zarif Sözdizimi: Kod yazmayı keyifli hale getiren anlaşılır ve düzenli bir sözdizimine sahiptir.
  • Eloquent ORM: Veritabanı işlemlerini kolaylaştırır.
  • Blade Şablon Motoru: Dinamik web sayfaları oluşturmayı kolaylaştırır.

Gereksinimler

Laravel’i kullanabilmek için aşağıdaki gereksinimlerin karşılanması gerekir:

  • PHP >= 8.0
  • Composer
  • PHP Uzantıları: BCMath, Ctype, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML

Laravel Kurulumu

Laravel’i kurmanın en kolay yolu Composer kullanmaktır. Terminal veya komut istemcisinde aşağıdaki komutu çalıştırın:

composer create-project laravel/laravel example-app

Bu komut, `example-app` adında yeni bir Laravel projesi oluşturacaktır. Proje klasörüne gidin:

cd example-app

Laravel geliştirme sunucusunu başlatmak için aşağıdaki komutu çalıştırın:

php artisan serve

Bu, uygulamayı genellikle `http://localhost:8000` adresinde çalıştıracaktır.

Laravel Proje Yapısı

Laravel projesi aşağıdaki ana klasörlere sahiptir:

  • app: Uygulama mantığını içerir (Controllers, Models, vb.).
  • bootstrap: Uygulamanın başlatılması için gerekli dosyaları içerir.
  • config: Uygulama ayarlarını içerir.
  • database: Veritabanı geçişlerini ve seed’leri içerir.
  • public: Web sunucusunun erişebileceği statik dosyaları (CSS, JavaScript, resimler) içerir.
  • resources: Görünümleri (Blade şablonları), dil dosyalarını ve asset’leri içerir.
  • routes: Uygulama rotalarını (URL’leri) tanımlar.
  • storage: Oturum dosyalarını, önbelleği ve yüklenen dosyaları saklar.
  • tests: Test dosyalarını içerir.
  • vendor: Composer ile yüklenen bağımlılıkları içerir.

Routing (Yönlendirme)

Routing, gelen HTTP isteklerini doğru Controller metotlarına yönlendirme işlemidir. Laravel’de rotalar `routes/web.php` dosyasında tanımlanır.

Örnek:

Route::get('/', function () {
    return view('welcome');
});

Bu rota, kök URL’ye (/) gelen GET isteklerini `welcome` görünümüne yönlendirir.

Controllers (Denetleyiciler)

Controllers, uygulamanın mantığını içeren sınıflardır. Genellikle gelen istekleri işler, veritabanından veri alır ve görünümleri döndürür.

Örnek:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{
    public function index()
    {
        return view('home');
    }
}

Bu Controller, `index` metodu ile `home` görünümünü döndürür.

Views (Görünümler)

Views, kullanıcı arayüzünü oluşturan şablonlardır. Laravel’de görünümler genellikle `resources/views` klasöründe saklanır.

Örnek (`resources/views/home.blade.php`):

<h1>Hoş Geldiniz!</h1>
<p>Bu bir Laravel uygulamasıdır.</p>

Blade Şablon Motoru

Blade, Laravel’in güçlü ve kullanımı kolay şablon motorudur. Veri görüntülemeyi, döngüleri ve koşulları kolayca yönetmenizi sağlar.

Örnek:

<h1>Merhaba, {{ $name }}!</h1>
<p>@if (count($users) > 0)
    Kullanıcılar var.
@else
    Kullanıcı yok.
@endif</p>

Migration (Veritabanı Geçişleri)

Migration’lar, veritabanı şemasını yönetmek için kullanılan versiyon kontrollü dosyalardır. Tablolar oluşturabilir, sütunlar ekleyebilir ve dizinler oluşturabilirsiniz.

Örnek:

php artisan make:migration create_users_table

Bu komut, `create_users_table` adında yeni bir migration dosyası oluşturur. Bu dosyayı kullanarak `users` tablosunu oluşturabilirsiniz.

Model (Veritabanı Modelleri)

Modeller, veritabanı tablolarını temsil eden sınıflardır. Veritabanı ile etkileşim kurmayı ve verileri yönetmeyi kolaylaştırırlar.

Örnek:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    //
}

Bu Model, `users` tablosunu temsil eder.

Eloquent ORM

Eloquent, Laravel’in güçlü ORM’sidir (Object-Relational Mapper). Veritabanı işlemlerini nesne yönelimli bir şekilde gerçekleştirmenizi sağlar. Sorguları daha okunabilir ve anlaşılır hale getirir.

Örnek:

$users = User::all(); // Tüm kullanıcıları getir
$user = User::find(1); // ID'si 1 olan kullanıcıyı getir
$users = User::where('name', 'John')->get(); // Adı John olan kullanıcıları getir

Formlar ve Veri İşleme

Formlar, kullanıcıdan veri toplamak için kullanılan HTML öğeleridir. Laravel, form verilerini işlemek ve doğrulamak için çeşitli araçlar sunar.

Örnek:

<form method="POST" action="/submit">
    @csrf
    <label for="name">Ad:</label>
    <input type="text" id="name" name="name"><br><br>
    <label for="email">E-posta:</label>
    <input type="email" id="email" name="email"><br><br>
    <input type="submit" value="Gönder">
</form>

Doğrulama (Validation)

Doğrulama, kullanıcıdan gelen verilerin beklenen formatta ve geçerli olduğundan emin olma işlemidir. Laravel, güçlü doğrulama kuralları ve hata mesajları sunar.

Örnek:

$request->validate([
    'name' => 'required|max:255',
    'email' => 'required|email|unique:users',
]);

Kimlik Doğrulama (Authentication)

Kimlik doğrulama, kullanıcıların kimliklerini doğrulama işlemidir. Laravel, kimlik doğrulama işlemlerini kolaylaştırmak için hazır bileşenler sunar.

php artisan make:auth

Oturumlar (Sessions)

Oturumlar, kullanıcıya özgü verileri saklamak için kullanılır. Örneğin, kullanıcı oturum açtıktan sonra kullanıcı kimliğini oturumda saklayabilirsiniz.

Örnek:

session(['user_id' => 1]); // Kullanıcı ID'sini oturuma kaydet
$user_id = session('user_id'); // Kullanıcı ID'sini oturumdan al

Middleware

Middleware, gelen HTTP isteklerini filtrelemek için kullanılan sınıflardır. Örneğin, bir kullanıcı oturum açmış mı kontrol etmek için bir middleware kullanabilirsiniz.

Laravel Paketleri

Laravel paketleri, Laravel uygulamalarına ek özellikler eklemek için kullanılan hazır bileşenlerdir. Birçok farklı paket mevcuttur ve uygulamanızın ihtiyaçlarına göre paketler kullanabilirsiniz.

Hata Ayıklama (Debugging)

Hata ayıklama, uygulamadaki hataları bulma ve düzeltme işlemidir. Laravel, hata ayıklama işlemlerini kolaylaştırmak için çeşitli araçlar sunar. Laravel Debugbar, Clockwork gibi paketler kullanabilirsiniz.

Sonuç

Bu başlangıç seviyesi eğitimi, Laravel’in temellerini anlamanıza ve kendi web uygulamalarınızı oluşturmaya başlamanıza yardımcı olmayı amaçlamaktadır. Laravel’in sunduğu birçok özellik ve araç sayesinde modern ve güçlü web uygulamaları geliştirebilirsiniz. Daha fazla bilgi için Laravel’in resmi dokümantasyonunu inceleyebilirsiniz.

Leave A Comment

Your email address will not be published. Required fields are marked *