Команда debug:autowiring
Команда debug:autowiring выводит список сервисов,
которые можно внедрить в контроллер или другой сервис
через механизм автовайринга. Первым параметром передаётся
поисковый запрос - часть имени сервиса или его тип.
Если параметр не указан, команда выводит все доступные
для автовайринга сервисы.
Синтаксис
php bin/console debug:autowiring [search]
Пример
Давайте выведем все сервисы, доступные для автовайринга:
php bin/console debug:autowiring
Результат выполнения команды:
Symfony FrameworkBundle:
Psr\Log\LoggerInterface (monolog.logger)
Symfony\Component\HttpFoundation\RequestStack (request_stack)
Symfony\Component\Routing\RouterInterface (router.default)
...
Пример
Давайте найдём сервисы, связанные с логгером:
php bin/console debug:autowiring log
Результат выполнения команды:
Psr\Log\LoggerInterface (monolog.logger)
Monolog\Logger (monolog.logger)
Пример
Давайте создадим сервис, который использует автовайринг, и проверим его доступность через команду:
<?php
namespace App\Service;
use Psr\Log\LoggerInterface;
class ArticleService
{
public function __construct(
private LoggerInterface $logger,
) {
}
public function getHello(): string
{
$this->logger->info('ArticleService called');
return 'hello';
}
}
?>
Теперь проверим, что сервис ArticleService доступен для автовайринга:
php bin/console debug:autowiring ArticleService
Результат выполнения команды:
App\Service\ArticleService (App\Service\ArticleService)
Смотрите также
-
команда
debug:container,
которая выводит информацию о сервисах контейнера -
команда
lint:container,
которая проверяет корректность автовайринга -
команда
about,
которая выводит информацию о проекте Symfony -
команда
help,
которая выводит справку по команде