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

Метод all класса ContainerBag

Метод all класса ContainerBag возвращает ассоциативный массив, содержащий все сервисы, которые доступны в контейнере. Ключами массива выступают идентификаторы сервисов, а значениями - сами объекты сервисов. Метод не принимает параметров и всегда возвращает массив.

Синтаксис

$res = $containerBag->all();

Пример

Давайте создадим ContainerBag с двумя сервисами и получим их все через метод all:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentDependencyInjectionParameterBagContainerBag; class ArticleController extends AbstractController { public function index(ContainerBag $bag): Response { $services = $bag->all(); return new Response(implode(', ', array_keys($services))); } } ?>

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

"service_one, service_two"

Пример

Давайте проверим тип возвращаемого значения и убедимся, что метод возвращает именно массив:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentDependencyInjectionParameterBagContainerBag; class ArticleController extends AbstractController { public function index(ContainerBag $bag): Response { $res = $bag->all(); if (is_array($res)) { return new Response('array'); } return new Response('not array'); } } ?>

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

"array"

Пример

Давайте посчитаем количество сервисов в контейнере с помощью функции count:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentDependencyInjectionParameterBagContainerBag; class ArticleController extends AbstractController { public function index(ContainerBag $bag): Response { $services = $bag->all(); $count = count($services); return new Response((string) $count); } } ?>

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

"3"

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

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