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');