Компонент 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;
    });

Це корисно під час створення додатка однієї команди.

Див. статтю Команди консолі, щоб дізнатися про те, як створювати команди.