Команда lint:container
Команда lint:container проверяет контейнер
зависимостей Symfony на наличие ошибок. Она
анализирует определения сервисов, аргументы
конструкторов, автовайринг и типы зависимостей.
Если в контейнере есть неразрешимые зависимости
или циклические ссылки, команда выведет сообщение
об ошибке. Команда не принимает обязательных
параметров и работает без аргументов.
Синтаксис
php bin/console lint:container
Пример
Давайте создадим сервис с корректной зависимостью и проверим контейнер:
<?php
namespace AppService;
use AppRepositoryArticleRepository;
class ArticleService
{
public function __construct(
private ArticleRepository $repository
) {
}
public function getTitle(): string
{
return 'article';
}
}
?>
Теперь создадим репозиторий, который внедряется в сервис:
<?php
namespace AppRepository;
class ArticleRepository
{
public function findAll(): array
{
return ['article 1', 'article 2', 'article 3'];
}
}
?>
Запустим проверку контейнера:
php bin/console lint:container
Результат выполнения команды:
The container was linted successfully.
Пример
Давайте создадим сервис с несуществующей зависимостью, чтобы увидеть ошибку:
<?php
namespace AppService;
use AppServiceMissingService;
class BrokenService
{
public function __construct(
private MissingService $service
) {
}
}
?>
Запустим проверку контейнера:
php bin/console lint:container
Результат выполнения команды:
Cannot autowire service "AppServiceBrokenService": argument "$service" of method "__construct()" references class "AppServiceMissingService" but no such service exists.
Смотрите также
-
команда
debug:container,
которая выводит информацию о сервисах контейнера -
команда
debug:autowiring,
которая показывает доступные для автовайринга сервисы -
команда
cache:clear,
которая очищает кеш приложения -
команда
lint:yaml,
которая проверяет YAML-файлы на синтаксические ошибки