Компонент Console
Дата обновления перевода 2023-08-21
Компонент Console
Компонент Console облегчает создание прекрасных и тестируемых интерфейсов командной строки.
Компонент Console позволяет вам создавать команды строки. Ваши консольные команды могут быть использованы для любого повторяющегося задания, например, cronjobs, импорта, или других фоновых заданий.
Установка
1
$ composer require symfony/console
Note
Если вы устанавливаете этот компонент вне приложения Symfony, вам нужно
подключить файл vendor/autoload.php
в вашем коде для включения механизма
автозагрузки классов, предоставляемых Composer. Детальнее читайте в
этой статье.
Создание консольного приложения
See also
Эта статья объясняет, как использовать функции Console в качестве независимого компонента в любом приложении PHP. Прочитайте статью Команды консоли, чтобы чтобы узнать о том, как использовать его в приложениях Symfony.
Для начала, вам нужно создать PHP-скрипт, чтобы определить консольное приложение:
1 2 3 4 5 6 7 8 9 10 11 12 13
#!/usr/bin/env php
<?php
// application.php
require __DIR__.'/vendor/autoload.php';
use Symfony\Component\Console\Application;
$application = new Application();
// ... зарегистрируйте команды
$application->run();
Далее, вы можете зарегистрировать команды, используя add():
1 2
// ...
$application->add(new GenerateAdminCommand());
Вы также можете регистрировать встроенные команды и определять их поведение благодаря методу
Command::setCode()
:
1 2 3 4 5 6 7 8
// ...
$application->register('generate-admin')
->addArgument('username', InputArgument::REQUIRED)
->setCode(function (InputInterface $input, OutputInterface $output): int {
// ...
return Command::SUCCESS;
});
Это полезно при создании приложения одной команды.
См. статью Команды консоли, чтобы узнать о том, как создавать команды.
Узнайте больше
- Команды консоли
- Изменение команды по умолчанию
- Понимание работы с аргументами и опциями консоли
- Использование событий
- Помощник Cursor
- Помощник Debug Formatter
- Помощник Formatter
- Помощники Console
- Помощник Process
- Индикатор выполнения
- Індикатор прогресса
- Помощник Question
- Таблица
- Использование логгера
- Создание приложения одной команды
- Использование конспольных команд, ярлыков и встроенных команд
- Как вызывать другие команды
- Как раскрашивать и стилизовать вывод консоли
- Как вызвать команду из контроллера
- Как определять команды, как сервисы
- Как скрывать консольные команды
- Ввод консоли (аргументы и опции)
- Как сделать команды ленивой загрузки
- Предотвращение многократного выполения консольной команды
- Как генерировать URL из консоли
- Как оформить консольную команду
- Уровни детализации