Laravel 5.5 Create Custom Middleware example

Laravel 5.5 Create Custom Middleware example

In this post we will give you information about Laravel 5.5 Create Custom Middleware example. Hear we will give you detail about Laravel 5.5 Create Custom Middleware exampleAnd how to use it also give you demo for it if it is necessary.

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 5.5 application they are provide several default web middleware but in this tutorial we are going to create custom middleware for laravel 5.5 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 5.5 application.

Step 1: Create Custom Validation

In first step, we have to create custom validation using larave; 5.5 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 AppHttpMiddleware;


use Closure;


class CheckType

{

/**

* Handle an incoming request.

*

* @param IlluminateHttpRequest $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 AppHttp;


use IlluminateFoundationHttpKernel 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' => AppHttpMiddlewareCheckType::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",["uses"=>"HomeController@checkMD","middleware"=>"checkType"]);

Also see:How to create middleware for XSS protection in Laravel?

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 AppHttpControllers;


use IlluminateHttpRequest;


class HomeController extends Controller

{

public function checkMD()

{

dd('checkMD');

}

}

Ok, now we are ready to run our example, so you can run bellow links and check how custom helper works.

Also see:Laravel 5.7 Middleware Tutorial With Example

http://localhost:8000/check-md?type=2

http://localhost:8000/check-md?type=1

I hope it can help you…

Hope this code and post will helped you for implement Laravel 5.5 Create Custom Middleware example. if you need any help or any feedback give it in comment section or you have good idea about this post you can give it comment section. Your comment will help us for help you more and improve us. we will give you this type of more interesting post in featured also so, For more interesting post and code Keep reading our blogs

For More Info See :: laravel And github

Leave a Comment

Your email address will not be published. Required fields are marked *

  +  4  =  14

We're accepting well-written guest posts and this is a great opportunity to collaborate : Contact US