РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
393 of 1392 menu

Метод any

Метод any класса Route применяется для создания маршрута, который обрабатывает запросы с любым HTTP методом. Первым параметром передаётся URI маршрута, вторым - действие (контроллер или замыкание). Этот метод удобно использовать для обработки форм, когда неизвестно, какой метод будет использован, или для создания единой точки входа для всех типов запросов.

Синтаксис

<?php use Illuminate\Support\Facades\Route; Route::any($uri, $action); ?>

Пример

Давайте зарегистрируем маршрут для страницы профиля, который будет обрабатывать запросы любым методом:

<?php use Illuminate\Support\Facades\Route; Route::any('/profile', function () { $method = request()->method(); return "Request method: {$method}"; }); ?>

Результат выполнения кода при GET запросе:

"Request method: GET"

Результат выполнения кода при POST запросе:

"Request method: POST"

Пример

Давайте создадим маршрут, который принимает все типы запросов и передаёт управление контроллеру:

<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\ProfileController; Route::any('/profile', [ProfileController::class, 'handle']); ?>

Теперь создадим контроллер, который будет обрабатывать все запросы:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ProfileController extends Controller { public function handle(Request $request) { $method = $request->method(); $data = $request->all(); return response()->json([ 'method' => $method, 'data' => $data ]); } } ?>

Результат выполнения кода при PUT запросе с данными:

{"method":"PUT","data":{"name":"John","age":30}}

Пример

Давайте создадим маршрут с параметром, который обрабатывает все методы:

<?php use Illuminate\Support\Facades\Route; Route::any('/user/{id}', function ($id) { $method = request()->method(); return "User ID: {$id}, Method: {$method}"; }); ?>

Результат выполнения кода при DELETE запросе:

"User ID: 25, Method: DELETE"

Смотрите также

  • метод get,
    который регистрирует маршрут только для GET запросов
  • метод post,
    который регистрирует маршрут только для POST запросов
  • метод match,
    который регистрирует маршрут для указанных HTTP методов
  • метод delete,
    который регистрирует маршрут только для DELETE запросов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить