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

Метод has класса ParameterBag

Метод has класса ParameterBag проверяет, существует ли параметр с указанным ключом в контейнере. Первым параметром передаётся имя ключа. Если параметр найден, метод возвращает true, иначе - false.

Класс ParameterBag хранит параметры в виде ассоциативного массива и используется во многих компонентах Symfony, например в Request для хранения атрибутов, query-параметров и параметров запроса.

Синтаксис

public function has(string $key): bool

Пример

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

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\ParameterBag; class ArticleController extends AbstractController { public function index(): Response { $bag = new ParameterBag([ 'name' => 'abcde', 'age' => 25, 'active' => true, ]); $res = $bag->has('name'); return new Response(var_export($res, true)); } } ?>

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

true

Пример

Давайте проверим наличие параметра, которого нет в контейнере:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\ParameterBag; class ArticleController extends AbstractController { public function index(): Response { $bag = new ParameterBag([ 'name' => 'abcde', 'age' => 25, ]); $res = $bag->has('email'); return new Response(var_export($res, true)); } } ?>

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

false

Пример

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

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\ParameterBag; class ArticleController extends AbstractController { public function index(): Response { $bag = new ParameterBag([ 'name' => 'abcde', 'age' => 25, ]); if ($bag->has('name')) { $res = $bag->get('name'); } else { $res = 'not found'; } return new Response($res); } } ?>

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

"abcde"

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

  • класс ParameterBag,
    который хранит параметры в виде массива
  • метод get,
    который возвращает значение параметра по ключу
  • метод all,
    который возвращает все параметры контейнера
  • метод set,
    который устанавливает значение параметра
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить