Метод all класса InputBag
Метод all класса InputBag возвращает
все параметры, хранящиеся в объекте, в виде
ассоциативного массива. Класс InputBag
используется для хранения данных из $_GET
и $_POST, поэтому метод позволяет получить
сразу весь набор переданных параметров.
Метод не принимает параметров и возвращает массив,
где ключами являются имена параметров, а значениями -
их значения.
Синтаксис
public function all(): array
Пример
Давайте получим все параметры запроса в контроллере:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(Request $request): Response
{
$res = $request->query->all();
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода для адреса /article?name=abcde&age=25:
{"name":"abcde","age":"25"}
Пример
Давайте получим все POST-параметры формы:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/article/store', name: 'article_store', methods: ['POST'])]
public function store(Request $request): Response
{
$res = $request->request->all();
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода при отправке полей title и text:
{"title":"hello","text":"article"}
Пример
Давайте переберём все параметры запроса в цикле:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/article/list', name: 'article_list')]
public function list(Request $request): Response
{
$res = '';
foreach ($request->query->all() as $key => $value) {
$res .= $key . ': ' . $value . "\n";
}
return new Response($res);
}
}
?>
Результат выполнения кода для адреса /article/list?id=1&user=abcde:
"id: 1\nuser: abcde\n"