Метод all класса ParameterBag
Метод all класса ParameterBag возвращает все
параметры контейнера в виде ассоциативного массива.
Параметров у метода нет. Метод удобен, когда нужно
получить сразу весь набор данных, например, для
передачи в шаблон или для отладки.
Синтаксис
public function all(): array
Пример
Давайте создадим объект ParameterBag с несколькими
параметрами и получим их все через метод all:
<?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->all();
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода:
{"name":"abcde","age":25,"active":true}
Пример
Давайте получим все параметры запроса через свойство
query объекта Request, которое также является
экземпляром ParameterBag:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class ArticleController extends AbstractController
{
public function index(Request $request): Response
{
$res = $request->query->all();
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода для адреса /?name=abcde&age=25:
{"name":"abcde","age":25}
Пример
Давайте получим все атрибуты запроса через свойство
attributes объекта Request:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class ArticleController extends AbstractController
{
public function index(Request $request): Response
{
$request->attributes->set('id', 1);
$request->attributes->set('slug', 'article');
$res = $request->attributes->all();
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода:
{"id":1,"slug":"article"}
Смотрите также
-
класс
ParameterBag,
который хранит параметры в виде массива -
метод
get,
который возвращает один параметр по имени -
метод
has,
который проверяет наличие параметра -
метод
keys,
который возвращает имена всех параметров