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

Метод all

Метод all класса Application возвращает массив всех команд, зарегистрированных в консольном приложении. В отличие от метода get, который возвращает одну команду по имени, метод all отдаёт полный список. Ключами массива выступают имена команд, а значениями - объекты этих команд. Метод не принимает параметров.

Синтаксис

public function all(): array

Пример

Давайте создадим приложение, добавим в него пару команд и выведем список всех зарегистрированных команд:

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; class DemoCommand extends Command { protected static $defaultName = 'app:demo'; protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('demo'); return Command::SUCCESS; } } ?>

Теперь получим список всех команд через метод all:

<?php namespace AppCommand; use SymfonyComponentConsoleApplication; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; class ListCommand extends Command { protected static $defaultName = 'app:list'; protected function execute(InputInterface $input, OutputInterface $output): int { $app = new Application(); $app->add(new DemoCommand()); $commands = $app->all(); $names = array_keys($commands); $output->writeln(implode(', ', $names)); return Command::SUCCESS; } } ?>

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

"app:demo, app:list, help, list"

Пример

Давайте переберём все команды и выведем имя каждой из них:

<?php namespace AppCommand; use SymfonyComponentConsoleApplication; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; class IterateCommand extends Command { protected static $defaultName = 'app:iterate'; protected function execute(InputInterface $input, OutputInterface $output): int { $app = new Application(); $app->add(new DemoCommand()); foreach ($app->all() as $name => $command) { $output->writeln($name); } return Command::SUCCESS; } } ?>

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

"app:demo app:iterate help list"

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

  • класс Application,
    который представляет консольное приложение
  • метод add,
    который регистрирует команду в приложении
  • метод get,
    который возвращает команду по её имени
  • метод find,
    который ищет команду по неполному имени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить