In Laravel, the Illuminate\Http\Request
class represents an HTTP request and provides convenient methods for interacting with the request data. It encapsulates information about the current request, including input data, uploaded files, cookies, and more. Here's an overview of working with requests in Laravel:
Accessing Request Data:
You can access various types of input data from the request using methods provided by the Request
class. Some common examples include:
use Illuminate\Http\Request; // Get input data from the request $input = request()->input('key'); // Get all input data $allInputs = request()->all(); // Check if a key exists in the input data if (request()->has('key')) { // ... }
Retrieving Input Data:
Laravel provides methods to retrieve input data with automatic type casting:
// Retrieve a single input value $name = request()->input('name'); // Retrieve a single input value with a default value $name = request()->input('name', 'default'); // Retrieve all input data as an array $inputData = request()->all();
Request Method:
You can check the HTTP method of the request using the method
method:
$method = request()->method(); // Returns 'GET', 'POST', 'PUT', etc.
Retrieving Path and URL Information:
You can get information about the requested path and URL:
// Get the current path (e.g., '/user/profile') $path = request()->path(); // Get the full URL (e.g., 'http://example.com/user/profile') $url = request()->url();
File Uploads:
To handle file uploads, you can use the file
method on the request object:
// Get a file from the request $file = request()->file('photo'); // Store the uploaded file $request->file('photo')->store('images');
Cookies:
You can retrieve and manipulate cookies using the cookie
method:
// Get a cookie value $value = request()->cookie('name'); // Create a new cookie $response = response('Hello World')->cookie('name', 'value', $minutes);
Request Headers:
You can access request headers using the header
method:
// Get a specific header value $headerValue = request()->header('Content-Type'); // Get all headers as an array $headers = request()->headers->all();
Checking for Request Types:
You can check the type of request (ajax, cli, etc.) using methods like ajax
, cli
, and is
:
if (request()->ajax()) { // Handle AJAX request } if (request()->is('admin/*')) { // Handle requests that match a pattern }
Comments