Метод getString класса InputBag
Метод getString класса InputBag
возвращает значение параметра в виде строки.
Первым параметром передаётся имя ключа.
Вторым необязательным параметром можно передать
значение по умолчанию. Если параметр отсутствует
или не является скалярным, будет выброшено
исключение BadRequestException.
Класс InputBag используется для хранения
параметров GET и POST запросов.
Синтаксис
public function getString(string $key, string $default = ''): string
Пример
Давайте получим строковый параметр name
из 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
{
$name = $request->query->getString('name');
return new Response($name);
}
}
?>
Результат выполнения кода для адреса /article?name=abcde:
abcde
Пример
Давайте передадим значение по умолчанию вторым параметром:
<?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
{
$name = $request->query->getString('name', 'user');
return new Response($name);
}
}
?>
Результат выполнения кода для адреса /article:
user
Пример
Давайте получим строковый параметр title
из POST-запроса:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationRequest;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index', methods: ['POST'])]
public function index(Request $request): Response
{
$title = $request->request->getString('title');
return new Response($title);
}
}
?>
Результат выполнения кода для POST-запроса
с параметром title=hello:
hello
Смотрите также
-
класс
InputBag,
который хранит параметры GET и POST запросов -
метод
get,
который возвращает значение параметра -
метод
getInt,
который возвращает целочисленное значение параметра -
метод
getBoolean,
который возвращает булево значение параметра