PHP 8 Php 8 Laravel 2026 Güncel

Php 8 Controllers

4 dk okuma süresi 582 görüntülenme 2024-09-29 4.9 (14 değerlendirme)

PHP 8 ve özellikle Laravel framework'ü ile birlikte kullanılan Controllers (kontrolcüler), web uygulamalarında gelen HTTP isteklerini işlemek için tasarlanmış sınıflardır. Kontrolcüler, uygulamanızın iş mantığını ve veri akışını yönetirken, verileri toplamak, işlemler yapmak ve uygun görünümleri döndürmek gibi görevleri üstlenir.

1. Controller Nedir?

Controller, kullanıcı isteklerini yönlendiren ve bu isteklere uygun yanıtları üreten bir bileşendir. Genellikle bir kontrolcü, bir veya daha fazla HTTP isteğini (GET, POST, PUT, DELETE) yönetir ve bu isteklere karşılık gelen işlemleri gerçekleştirir.

2. Controller Oluşturma

Laravel'de yeni bir kontrolcü oluşturmak için Artisan komutunu kullanabilirsiniz. Örneğin, terminalde aşağıdaki komutu çalıştırarak bir HomeController oluşturabilirsiniz:

php artisan make:controller HomeController

Bu komut, app/Http/Controllers dizininde HomeController.php adlı bir dosya oluşturur.

3. Controller Yapısı

Bir kontrolcünün temel yapısı aşağıdaki gibi görünür:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class HomeController extends Controller { public function index( ) { return view('home'); // 'home' görünümünü döndür } public function show( $id ) { // Belirtilen ID'ye göre bir kaydı göster $item = Item::find($id); return view('item.show', ['item' => $item]); } public function store(Request $request ) { // Yeni bir kayıt oluştur $item = new Item(); $item->name = $request->input('name'); $item->save(); return redirect()->route('items.index'); // Yönlendirme } } ?>

4. Controller Metotları

Bir kontrolcü içinde farklı yöntemler tanımlayarak çeşitli HTTP isteklerini işleyebilirsiniz. Yaygın olarak kullanılan metotlar şunlardır:

  • index: Tüm kayıtları listelemek için kullanılır (GET).
  • show: Belirli bir kaydı görüntülemek için kullanılır (GET).
  • create: Yeni bir kayıt oluşturma formunu göstermek için kullanılır (GET).
  • store: Yeni bir kaydı veritabanına kaydetmek için kullanılır (POST).
  • edit: Var olan bir kaydı düzenleme formunu göstermek için kullanılır (GET).
  • update: Var olan bir kaydı güncellemek için kullanılır (PUT/PATCH).
  • destroy: Bir kaydı silmek için kullanılır (DELETE).

5. Routing ile Controller Entegrasyonu

Bir kontrolcüyü kullanmak için, Laravel’in routing sistemi ile entegrasyon sağlamanız gerekir. Örneğin, routes/web.php dosyasına aşağıdaki gibi rota tanımlamaları ekleyebilirsiniz:

use AppHttpControllersHomeController; Route::get('/', [HomeController::class, 'index']); Route::get('/item/{id}', [HomeController::class, 'show']); Route::post('/item', [HomeController::class, 'store']);

6. Resource Controllers

Laravel, CRUD (Create, Read, Update, Delete) işlemleri için hızlı bir şekilde resource controller oluşturmanıza olanak tanır. Aşağıdaki komut ile bir resource controller oluşturabilirsiniz:

php artisan make:controller ItemController --resource

Bu, aşağıdaki gibi tüm temel yöntemleri içeren bir kontrolcü oluşturur:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class ItemController extends Controller { public function index( ) {} public function create( ) {} public function store(Request $request ) {} public function show( $id ) {} public function edit( $id ) {} public function update(Request $request, $id ) {} public function destroy( $id ) {} } ?>

Ardından, bu kontrolcüyü kullanarak tüm CRUD işlemleri için otomatik olarak route'lar oluşturabilirsiniz:

Route::resource('items', ItemController::class);

7. Middleware Kullanımı

Kontrolcülerde middleware kullanarak, belirli işlevselliği uygulayabilir veya isteklere öncelik verebilirsiniz. Örneğin, kimlik doğrulaması yapmak için bir middleware kullanabilirsiniz:

public function __construct( ) { $this->middleware('auth'); }

Bu, kontrolcüdeki tüm yöntemlere erişmeden önce kullanıcıların kimlik doğrulaması yapılmasını gerektirir.

Sonuç

Controllers, PHP 8 ve Laravel ile web uygulamaları geliştirirken önemli bir rol oynar. HTTP isteklerini işlemek ve verileri yönetmek için kullanılırlar. İyi yapılandırılmış bir kontrolcü, uygulamanızın kodunu daha düzenli ve bakımı daha kolay hale getirir. Laravel’in sunduğu resource controller ve middleware gibi özellikler, kontrolcü yönetimini kolaylaştırır ve geliştirmenin hızını artırır.

Bu Dersi Değerlendirin

Bu ders size yardımcı oldu mu? Puan verin!

Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.

4.9 / 5 (Toplam 14 oy kullanıldı)

Sıkça Sorulan Sorular (SSS)

Bu ders ve konuyla ilgili en çok merak edilenler

Php 8 Controllers dersini öğrenmek için ön koşul var mı?

Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.

Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?

Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.

Takıldığım bir yerde nereden soru sorabilirim?

Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.

Paylaş:
PHP Hocası Akademi

Topluluk Yorumları (0)

Ders Hakkında Yorum Yap veya Soru Sor

Henüz yorum yapılmamış. İlk yorumu siz yazın!