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

Метод match

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

Синтаксис

<?php Route::match($methods, $uri, $callback); ?>

Пример

Давайте зарегистрируем маршрут, который отвечает на GET и POST запросы по адресу '/user':

<?php use Illuminate\Support\Facades\Route; Route::match(['get', 'post'], '/user', function () { return 'User route with GET and POST methods'; }); ?>

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

"User route with GET and POST methods"

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

"User route with GET and POST methods"

Пример

Давайте зарегистрируем маршрут, который отвечает на GET, POST и PUT запросы по адресу '/product' с использованием контроллера:

<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\ProductController; Route::match(['get', 'post', 'put'], '/product', [ProductController::class, 'handle']); ?>
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ProductController extends Controller { public function handle(Request $request) { $method = $request->method(); return "Product route with {$method} method"; } } ?>

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

"Product route with GET method"

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

"Product route with PUT method"

Пример

Давайте зарегистрируем маршрут для работы с API, который отвечает на GET и DELETE запросы по адресу '/post/{id}':

<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\PostController; Route::match(['get', 'delete'], '/post/{id}', [PostController::class, 'show']); ?>
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class PostController extends Controller { public function show(Request $request, $id) { $method = $request->method(); return "Post {$id}, method: {$method}"; } } ?>

Результат выполнения GET-запроса по адресу '/post/1':

"Post 1, method: GET"

Результат выполнения DELETE-запроса по адресу '/post/5':

"Post 5, method: DELETE"

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

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