Php 8 Controllers

Php 8 Controllers

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.



Yorum Ekle

Üzerine gel