Middleware is a way to filter HTTP requests entering your application. It acts like a gatekeeper that can inspect, modify, or reject requests before they reach your routes or controllers.
Click to reveal answer
beginner
How do you register a global middleware in Laravel?
You add the middleware class to the $middleware array inside the app/Http/Kernel.php file. This makes it run on every HTTP request automatically.
Click to reveal answer
beginner
Where do you register route middleware in Laravel?
Route middleware are registered in the $routeMiddleware array inside app/Http/Kernel.php. You give each middleware a key name to use in routes or controllers.
Click to reveal answer
beginner
How do you apply middleware to a specific route in Laravel?
You use the middleware method on the route definition, like Route::get('/profile', 'ProfileController@index')->middleware('auth'); This runs the 'auth' middleware only for that route.
Click to reveal answer
beginner
What is the difference between global and route middleware in Laravel?
Global middleware runs on every HTTP request automatically. Route middleware runs only on routes or groups where you explicitly apply them.
Click to reveal answer
Where do you register global middleware in Laravel?
AIn the $routeMiddleware array inside app/Http/Kernel.php
BIn the config/app.php file
CIn the routes/web.php file
DIn the $middleware array inside app/Http/Kernel.php
✗ Incorrect
Global middleware are registered in the $middleware array inside app/Http/Kernel.php to run on every request.
How do you assign a middleware to a specific route?
AWrite it inside the controller constructor
BUse the middleware() method on the route definition
CAdd it to the $routeMiddleware array only
DAdd it to the $middleware array
✗ Incorrect
You assign middleware to a route by calling middleware('name') on the route definition.
What is the purpose of the $routeMiddleware array?
ATo list all middleware classes in the project
BTo register middleware that runs on every request
CTo register middleware that can be applied to specific routes by name
DTo configure middleware priority
✗ Incorrect
The $routeMiddleware array maps short names to middleware classes for use on specific routes.
If you want middleware to run on every HTTP request, where should you register it?
AIn the $middleware array
BIn the $routeMiddleware array
CIn the routes file
DIn the controller
✗ Incorrect
Middleware in the $middleware array runs globally on every HTTP request.
Which file is the main place to register middleware in Laravel?
Aapp/Http/Kernel.php
Broutes/web.php
Cconfig/middleware.php
Dapp/Providers/AppServiceProvider.php
✗ Incorrect
Middleware registration happens mainly in app/Http/Kernel.php.
Explain how to register and apply middleware to a route in Laravel.
Think about the $routeMiddleware array and route methods.
You got /3 concepts.
Describe the difference between global and route middleware in Laravel.
Consider where each type is registered and when it runs.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of registering middleware in Laravel's Kernel.php file?
easy
A. To define database connections
B. To make middleware available for use in routes and controllers
C. To create new views
D. To register event listeners
Solution
Step 1: Understand middleware role
Middleware acts as a filter for HTTP requests in Laravel.
Step 2: Purpose of registering middleware
Registering middleware in Kernel.php makes it available to assign to routes or groups.
Final Answer:
To make middleware available for use in routes and controllers -> Option B
Quick Check:
Middleware registration = availability for routes [OK]
Hint: Middleware must be registered to use it in routes [OK]
Common Mistakes:
Confusing middleware registration with database setup
Thinking middleware creates views
Mixing middleware with event listeners
2. Which of the following is the correct way to register a route middleware named checkAge in app/Http/Kernel.php?
easy
A. 'checkAge' => \App\Http\Middleware\CheckAge::class,
B. 'checkAge' => 'CheckAgeMiddleware',
C. 'checkAge' => new CheckAge(),
D. 'checkAge' => 'middleware.checkAge',
Solution
Step 1: Locate middleware registration syntax
In Kernel.php, route middleware are registered as key-value pairs with the key as the name and value as the class reference.
Step 2: Match correct syntax
The correct syntax uses the fully qualified class name with ::class keyword.
Final Answer:
'checkAge' => \App\Http\Middleware\CheckAge::class, -> Option A
Quick Check:
Middleware registration uses class reference [OK]
Hint: Use full class path with ::class to register middleware [OK]
Common Mistakes:
Using string names instead of class references
Instantiating middleware instead of referencing class
Using incorrect keys or formats
3. Given the following Kernel.php snippet, what middleware will be applied when accessing the route /profile?
A. Middleware should be registered in $middleware property
B. Middleware name 'admin' is invalid
C. Missing the ::class keyword after the middleware class name
D. Namespace should not be used in Kernel.php
Solution
Step 1: Review middleware registration syntax
Middleware classes must be referenced with the ::class keyword to provide the full class name as a string.
Step 2: Identify missing part
The snippet misses ::class after App\Http\Middleware\AdminCheck.
Final Answer:
Missing the ::class keyword after the middleware class name -> Option C
Quick Check:
Middleware class references need ::class [OK]
Hint: Always add ::class after middleware class name [OK]
Common Mistakes:
Omitting ::class causing syntax errors
Registering middleware in wrong property
Using invalid middleware names
5. You want to create a middleware that logs every request to a specific route group. After creating the middleware class, what is the correct way to register and apply it to the route group in Laravel?
hard
A. Use the middleware class name as a string in the route group without registration
B. Add the middleware class directly inside the route group without registration
C. Register the middleware in $middleware property and apply it only to the route group
D. Register the middleware in Kernel.php under $routeMiddleware with a name, then apply it in the route group using middleware('name')
Solution
Step 1: Register middleware properly
Custom middleware must be registered in $routeMiddleware in Kernel.php with a key name.
Step 2: Apply middleware to route group
Use the registered name in the route group with middleware('name') to apply it.
Final Answer:
Register the middleware in Kernel.php under $routeMiddleware with a name, then apply it in the route group using middleware('name') -> Option D
Quick Check:
Register then apply by name for route groups [OK]
Hint: Register middleware name, then use it in route groups [OK]
Common Mistakes:
Skipping registration and using class name directly
Registering middleware globally instead of route-specific
Misplacing middleware registration property
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.