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

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

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

Синтаксис

public function has(string $id): bool

Пример

Давайте создадим локатор сервисов и проверим наличие сервиса 'article':

<?php namespace AppService; use SymfonyComponentDependencyInjectionServiceLocator; class LocatorChecker { public function check(): void { $locator = new ServiceLocator([ 'article' => fn () => 'article service', ]); $res = $locator->has('article'); var_dump($res); } } ?>

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

true

Пример

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

<?php namespace AppService; use SymfonyComponentDependencyInjectionServiceLocator; class LocatorChecker { public function check(): void { $locator = new ServiceLocator([ 'article' => fn () => 'article service', ]); $res = $locator->has('user'); var_dump($res); } } ?>

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

false

Пример

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

<?php namespace AppService; use SymfonyComponentDependencyInjectionServiceLocator; class LocatorChecker { public function check(): void { $locator = new ServiceLocator([ 'article' => fn () => 'article service', 'user' => fn () => 'user service', ]); if ($locator->has('article')) { echo $locator->get('article'); } } } ?>

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

"article service"

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

  • класс ServiceLocator,
    который хранит набор сервисов по идентификаторам
  • метод get,
    который возвращает сервис по его идентификатору
  • метод getProvidedServices,
    который возвращает список доступных сервисов
  • класс Container,
    который управляет сервисами приложения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить