Laravel 8/7 Custom Middleware Example
This article is focused on how to create custom middleware in laravel 8/7. if you want to see example of laravel 8/7 create your own middleware then you are a right place you will learn how to use custom middleware in laravel 7/6. i explained simply about laravel 7/6 make custom middleware Let's see bellow example how to make custom middleware in laravel 8/7.
Middleware are used for filter HTTP requests in your web application. One of the basic requirement of any web application is HTTP requests filter, so we have to make is well for example make auth middleware. auth middleware always check if you are going then and then you can access those page. In laravel 8 application they are provide several default web middleware but in this tutorial we are going to create custom middleware for laravel 6 application.
In this example, i am going to create "checkType" middleware and i will use simply on route, when they route will run you must have to pass "type" parameter with "2" value then and then you can access those request like as bellow example link:
http://localhost:8000/check-md?type=2
As above link, if you are going to pass then you are valid for this middleware, but if you pass another value or you forgot to pass then it gives you json error from custom middleware. So let's follow bellow step to create custom validation in laravel 6 application.
Step 1: Create Custom Validation
In first step, we have to create custom validation using laravel 6 command. So let's open your terminal and run bellow command:
php artisan make:middleware CheckType
After above run command you will find one file on bellow location and you have to write following code:
app/Http/Middleware/CheckType.php
<?php
namespace App\Http\Middleware;
use Closure;
class CheckType
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->type != 2) {
return response()->json('Please enter valid type');
}
return $next($request);
}
}
After successfully write logic of middleware then we have to register this middleware on kernel file. So let's simply add this way:
app/Http/Kernel.php
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
....
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
....
'checkType' => \App\Http\Middleware\CheckType::class,
];
}
Step 2: Add Route
Now we will create simple route using CheckType middleware. So let's simply open routes.php file and add those route.
routes/web.php
Route::get("check-md", "HomeController@checkMD")->middleware("checkType");
Step 3: Add Controller Method
Now at last we have to add new controller method checkMD() in your Home Controller. So let's add checkMD() method on HomeController.php file.
app/Http/Controllers/HomeController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function checkMD()
{
dd('You are in Controller Method');
}
}
Ok, now we are ready to run our example, so you can run bellow links and check how custom helper works.
http://localhost:8000/check-md?type=2
http://localhost:8000/check-md?type=1
I hope it can help you...
Hardik Savani
I'm a full-stack developer, entrepreneur and owner of ItSolutionstuff.com. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Laravel, Angular, Vue, Node, Javascript, JQuery, Codeigniter and Bootstrap from the early stage. I believe in Hardworking and Consistency.
We are Recommending you
- Laravel 7/6 Multiple Database Connection Tutorial
- Laravel 7/6 Socialite Login with Google Gmail Account
- Laravel 7/6 REST API with Passport Tutorial
- Laravel 6 Ajax Image Upload Example
- Laravel 7/6 Multi Auth (Authentication) Tutorial
- Laravel 6 File Upload Tutorial Example
- Laravel 6 CORS Middleware Tutorial
- How to Add Flash Message in Laravel?
- Laravel 6 Multiple Image Upload Tutorial
- Laravel 6 Image Upload Tutorial