РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1269 of 1361 menu

Константа SUCCESS

Константа SUCCESS принадлежит классу Command и хранит целочисленный код возврата 0. Она применяется в методе execute, чтобы сообщить Symfony об успешном выполнении консольной команды. Возвращая self::SUCCESS, команда завершает работу со статусом успеха. Это значение соответствует стандартному соглашению о кодах выхода процессов: 0 означает успех, любое другое число - ошибку или особую ситуацию.

Синтаксис

Command::SUCCESS

Внутри класса команды константа обычно указывается через self::SUCCESS или static::SUCCESS.

Пример

Давайте создадим команду, которая выводит сообщение и возвращает успешный код завершения:

<?php namespace App\Command; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; #[AsCommand(name: 'app:hello')] class HelloCommand extends Command { protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('hello'); return self::SUCCESS; } } ?>

Запустим команду в терминале:

php bin/console app:hello

Результат выполнения кода:

hello

Пример

Давайте проверим код возврата команды через терминал:

<?php namespace App\Command; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; #[AsCommand(name: 'app:hello')] class HelloCommand extends Command { protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('hello'); return self::SUCCESS; } } ?>

Выполним команду и выведем код возврата:

php bin/console app:hello echo $?

Результат выполнения кода:

hello 0

Как видно, команда завершилась с кодом 0, что соответствует значению константы SUCCESS.

Пример

Давайте сравним константу SUCCESS с другими кодами возврата:

<?php namespace App\Command; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; #[AsCommand(name: 'app:status')] class StatusCommand extends Command { protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('SUCCESS: ' . self::SUCCESS); $output->writeln('FAILURE: ' . self::FAILURE); $output->writeln('INVALID: ' . self::INVALID); return self::SUCCESS; } } ?>

Запустим команду:

php bin/console app:status

Результат выполнения кода:

SUCCESS: 0 FAILURE: 1 INVALID: 2

Смотрите также

  • класс Command,
    от которого наследуются все консольные команды
  • метод execute,
    в котором возвращается код завершения команды
  • константа FAILURE,
    которая задаёт код возврата при ошибке
  • константа INVALID,
    которая задаёт код возврата при некорректном использовании
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить