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

Метод isMethod

Метод isMethod принадлежит классу Request и проверяет, равен ли HTTP-метод текущего запроса заданной строке. Первым параметром передаётся имя метода в верхнем регистре, например 'GET', 'POST', 'PUT' или 'DELETE'. Метод возвращает true, если метод запроса совпадает с переданным, и false в противном случае. Регистр переданного значения не важен, так как внутри выполняется приведение к верхнему регистру.

Синтаксис

public function isMethod(string $method): bool

Пример

Давайте проверим, является ли текущий запрос GET-запросом:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(Request $request): Response { if ($request->isMethod('GET')) { return new Response('hello'); } return new Response('other method'); } } ?>

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

"hello"

Пример

Давайте проверим несколько методов сразу и вернём имя подходящего:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/article/save', name: 'article_save')] public function save(Request $request): Response { if ($request->isMethod('POST')) { return new Response('post request'); } if ($request->isMethod('PUT')) { return new Response('put request'); } return new Response('unknown method'); } } ?>

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

"post request"

Пример

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

<?php namespace AppService; use SymfonyComponentHttpFoundationRequestStack; class RequestChecker { public function __construct( private RequestStack $requestStack ) { } public function isDelete(): bool { $request = $this->requestStack->getCurrentRequest(); return $request->isMethod('DELETE'); } } ?>

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

true

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

  • класс Request,
    который представляет HTTP-запрос
  • метод getMethod,
    который возвращает HTTP-метод запроса
  • метод getRealMethod,
    который возвращает исходный HTTP-метод запроса
  • метод isMethodCacheable,
    который проверяет, можно ли кешировать запрос
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить