Метод setCode класса Command
Метод setCode класса Command
устанавливает код возврата команды.
Первым параметром передаётся целое число -
код завершения. По умолчанию Symfony
использует код 0 при успешном выполнении
и ненулевой код при ошибке.
Синтаксис
public function setCode(callable $code): static
Пример
Давайте создадим команду, которая
устанавливает код возврата 0
при успешном выполнении:
<?php
namespace AppCommand;
use SymfonyComponentConsoleCommandCommand;
use SymfonyComponentConsoleInputInputInterface;
use SymfonyComponentConsoleOutputOutputInterface;
class ArticleCommand extends Command
{
protected static $defaultName = 'app:article';
protected function execute(InputInterface $input, OutputInterface $output): int
{
$output->writeln('article');
return Command::SUCCESS;
}
}
?>
Результат выполнения команды:
php bin/console app:article
Результат выполнения кода:
"article"
Пример
Давайте установим код возврата 1,
чтобы обозначить ошибку выполнения:
<?php
namespace AppCommand;
use SymfonyComponentConsoleCommandCommand;
use SymfonyComponentConsoleInputInputInterface;
use SymfonyComponentConsoleOutputOutputInterface;
class ArticleCommand extends Command
{
protected static $defaultName = 'app:article';
protected function execute(InputInterface $input, OutputInterface $output): int
{
$this->setCode(function (): int {
return Command::FAILURE;
});
$output->writeln('failure');
return Command::FAILURE;
}
}
?>
Результат выполнения команды:
php bin/console app:article
Результат выполнения кода:
"failure"