Метод isMethod
Метод isMethod применяется к объекту запроса Request и позволяет проверить, является ли HTTP-метод текущего запроса одним из переданных значений. Метод принимает строку с названием метода или массив строк и возвращает true, если метод запроса совпадает с указанным значением. Проверка выполняется с учётом регистра символов.
Синтаксис
<?php
$request->isMethod($method);
?>
Пример
Давайте проверим, является ли текущий запрос GET-запросом:
<?php
use Illuminate\Http\Request;
Route::get('/check-method', function (Request $request) {
if ($request->isMethod('GET')) {
echo 'This is a GET request';
} else {
echo 'This is not a GET request';
}
});
?>
Результат выполнения кода при GET-запросе:
"This is a GET request"
Пример
Давайте проверим, является ли текущий запрос POST-запросом:
<?php
use Illuminate\Http\Request;
Route::post('/submit', function (Request $request) {
if ($request->isMethod('POST')) {
echo 'Form submitted via POST';
}
});
?>
Результат выполнения кода:
"Form submitted via POST"
Пример
Метод isMethod может принимать массив методов для проверки:
<?php
use Illuminate\Http\Request;
Route::any('/process', function (Request $request) {
if ($request->isMethod(['PUT', 'PATCH'])) {
echo 'Request method is PUT or PATCH';
}
});
?>
Результат выполнения кода при PUT-запросе:
"Request method is PUT or PATCH"
Пример
Использование метода isMethod в контроллере для обработки разных типов запросов:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function update(Request $request)
{
if ($request->isMethod('PUT')) {
// Update user data
echo 'User updated via PUT';
} elseif ($request->isMethod('PATCH')) {
// Partially update user data
echo 'User partially updated via PATCH';
} else {
echo 'Invalid request method';
}
}
}
?>
Результат выполнения кода при PUT-запросе:
"User updated via PUT"