Laravel'de Middleware Kullanımı
Laravel'de middleware, gelen HTTP isteklerini işlerken belirli kontrolleri gerçekleştirmenize olanak tanır. Örneğin, isteğin belirli bir rol veya yetkiye sahip olup olmadığını kontrol edebilir, oturum durumunu doğrulayabilir veya isteği değiştirebilirsiniz.
Middleware Oluşturma
Yeni bir middleware oluşturmak için terminal veya komut istemcisini kullanabilirsiniz. Projenizin bulunduğu dizinde şu komutu çalıştırarak yeni bir middleware oluşturabilirsiniz:
php artisan make:middleware CustomMiddleware
Yukarıdaki komut, CustomMiddleware adında yeni bir middleware sınıfı oluşturur. Bu sınıf, app/Http/Middleware dizini altında yer alacaktır.
Middleware sınıfını oluşturduktan sonra, handle metodunu düzenleyerek middleware'in nasıl çalışacağını tanımlayabilirsiniz.
public function handle($request, Closure $next)
{
// İstek işlemden önce yapılacak işlemler
$response = $next($request);
// İstek işlemden sonra yapılacak işlemler
return $response;
}
Yukarıdaki örnekte, handle metodunda isteği işlemek için gerekli kontrolleri gerçekleştirebilir ve ardından $next parametresi ile sonraki middleware veya isteği yönlendirme zincirine devam edebilirsiniz.
Middleware Kullanımı
Middleware'leri projenizde kullanabilmek için App\Http\Kernel.php dosyasına eklemeniz gerekmektedir. Örneğin:
protected $middleware = [
// ...
\App\Http\Middleware\CustomMiddleware::class,
];
Yukarıdaki örnekte, CustomMiddleware'i tüm istekler için uygulamış olduk. Middleware'leri belirli bir rota veya rotalar grubuna uygulamak için App\Http\Kernel.php dosyasında $routeMiddleware özelliğini kullanabilirsiniz.
protected $routeMiddleware = [
// ...
'custom' => \App\Http\Middleware\CustomMiddleware::class,
];
Yukarıdaki örnekte, 'custom' adında bir isimlendirilmiş middleware grubu tanımladık. Bu durumda, rotalarınızda middleware yöntemini kullanarak bu isimlendirilmiş grubu belirtebilirsiniz:
Route::get('/example', 'ExampleController@index')->middleware('custom');

