Usage of Request Class in Laravel
In Laravel, the Request
class is used to handle HTTP requests. It allows you to access input data, validate requests, retrieve query parameters, handle file uploads, and more.
1. Accessing Request Data
You can access request data inside your controller method by injecting the Illuminate\Http\Request
class.
Example: Access Request Data
You can also retrieve all request data:
2. Retrieving Query Parameters
When handling GET requests, you can access query parameters like this:
Or retrieve all query parameters:
3. Checking if a Request Has Data
4. Validating Requests
Laravel provides a built-in validation system for request data.
Basic Validation
Custom Error Messages
5. Using Form Request Class (Recommended for Clean Code)
For better code organization, you can use Form Request Classes.
Step 1: Create a Form Request
Step 2: Define Validation Rules
📂 app/Http/Requests/StoreUserRequest.php
Step 3: Use it in Controller
6. Handling File Uploads
If your request contains file uploads, you can handle them using the file()
method.
7. Checking Request Type
Conclusion
- ✅ Use
$request->input('field')
to retrieve input data. - ✅ Use
$request->query('param')
for URL query parameters. - ✅ Validate data using
$request->validate([])
or Form Request Classes. - ✅ Handle file uploads with
$request->file('file')
. - ✅ Check request types like AJAX or POST with
$request->isMethod()
.
Would you like a practical example for a specific use case?