Приложение
класс Application
Приложение — контейнер для набора команд.
Это основной входной пункт консольного приложения.
Этот класс оптимизирован для стандартной среды CLI.
Использование:
$app = new Application('myapp', '1.0 (stable)');
$app->add(new SimpleCommand());
$app->run();
Методы
| __construct(string $name = 'UNKNOWN', string $version = 'UNKNOWN') | ||
| setDispatcher(EventDispatcherInterface $dispatcher) | ||
| int | run(InputInterface $input = null, OutputInterface $output = null) Выполняет текущее приложение. | |
| int | doRun(InputInterface $input, OutputInterface $output) Выполняет текущее приложение. | |
| setHelperSet(HelperSet $helperSet) Устанавливает набор вспомогательных элементов для использования с командой. | ||
| HelperSet | getHelperSet() Получить набор вспомогательных элементов, связанных с командой. | |
| setDefinition(InputDefinition $definition) Устанавливает определение ввода для использования с этим приложением. | ||
| InputDefinition | getDefinition() Получает InputDefinition, связанный с этим приложением. | |
| string | getHelp() Получить сообщение справки. | |
| bool | areExceptionsCaught() Получает, перехватываются ли исключения во время выполнения команд. | |
| setCatchExceptions(bool $boolean) Устанавливает, перехватывать ли исключения во время выполнения команд. | ||
| bool | isAutoExitEnabled() Получает, автоматически ли происходит выход после выполнения команды. | |
| setAutoExit(bool $boolean) Устанавливает, автоматически ли происходит выход после выполнения команды. | ||
| string | getName() Получить имя приложения. | |
| setName(string $name) Установить имя приложения. | ||
| string | getVersion() Получить версию приложения. | |
| setVersion(string $version) Установить версию приложения. | ||
| string | getLongVersion() Возвращает полную версию приложения. | |
| Command | register(string $name) Регистрирует новую команду. | |
| addCommands(array $commands) Добавляет массив объектов команд. | ||
| Command|null | add(Command $command) Добавляет объект команды. | |
| Command | get(string $name) Возвращает зарегистрированную команду по имени или псевдониму. | |
| bool | has(string $name) Возвращает true, если команда существует, иначе false. | |
| string[] | getNamespaces() Возвращает массив всех уникальных пространств имен, используемых текущими зарегистрированными командами. | |
| string | findNamespace(string $namespace) Находит зарегистрированное пространство имен по имени или сокращению. | |
| Command | find(string $name) Находит команду по имени или псевдониму. | |
| Command[] | all(string $namespace = null) Получает команды (зарегистрированные в указанном пространстве имен, если оно предоставлено). | |
| static array | getAbbreviations(array $names) Возвращает массив возможных сокращений, заданных набором имен. | |
| renderException(Exception $e, OutputInterface $output) Отображает перехваченное исключение. | ||
| array | getTerminalDimensions() устарело Пытается определить размеры терминала на основе текущей среды. | |
| $this | setTerminalDimensions(int $width, int $height) устарело Устанавливает размеры терминала. | |
| string | extractNamespace(string $name, string $limit = null) Возвращает часть имени команды, относящуюся к пространству имен. | |
| Application | setDefaultCommand(string $commandName, bool $isSingleCommand = false) Устанавливает имя по умолчанию для команды. |
Подробности
__construct(string $name = 'UNKNOWN', string $version = 'UNKNOWN')
Параметры
| string | $name | Название приложения |
| string | $version | Версия приложения |
setDispatcher(EventDispatcherInterface $dispatcher)
Параметры
| EventDispatcherInterface | $dispatcher |
int run(InputInterface $input = null, OutputInterface $output = null)
Выполняет текущее приложение.
Параметры
| InputInterface | $input | Объект Input |
| OutputInterface | $output | Объект Output |
Значение результата
| int | 0, если всё прошло успешно, или код ошибки |
Исключения
| Exception | При неудачном выполнении. Игнорировать при использовании {@link setCatchExceptions()}. |
int doRun(InputInterface $input, OutputInterface $output)
Выполняет текущее приложение.
Параметры
| InputInterface | $input | Объект Input |
| OutputInterface | $output | Объект Output |
Значение результата
| int | 0, если всё прошло успешно, или код ошибки |
setHelperSet(HelperSet $helperSet)
Устанавливает набор вспомогательных средств для использования с командой.
Параметры
| HelperSet | $helperSet | Набор вспомогательных средств |
HelperSet getHelperSet()
Получить набор вспомогательных средств, связанных с командой.
Значение результата
| HelperSet | Экземпляр HelperSet, связанный с данной командой |
setDefinition(InputDefinition $definition)
Устанавливает определение входных данных для использования с этим приложением.
Параметры
| InputDefinition | $definition | Определение входных данных |
InputDefinition getDefinition()
Получить InputDefinition, связанный с этим приложением.
Значение результата
| InputDefinition | Экземпляр InputDefinition |
string getHelp()
Получить сообщение справки.
Значение результата
| string | Сообщение справки |
bool areExceptionsCaught()
Получить, перехватываются ли исключения во время выполнения команд.
Значение результата
| bool | Перехватываются ли исключения во время выполнения команд |
setCatchExceptions(bool $boolean)
Устанавливает, перехватывать ли исключения во время выполнения команд.
Параметры
| bool | $boolean | Перехватывать ли исключения во время выполнения команд |
bool isAutoExitEnabled()
Получить, автоматически ли завершается приложение после выполнения команды.
Значение результата
| bool | Автоматически ли завершается приложение после выполнения команды |
setAutoExit(bool $boolean)
Устанавливает, автоматически ли завершается приложение после выполнения команды.
Параметры
| bool | $boolean | Автоматически ли завершается приложение после выполнения команды |
string getName()
Получить имя приложения.
Значение результата
| string | Имя приложения |
setName(string $name)
Установить имя приложения.
Параметры
| string | $name | Имя приложения |
string getVersion()
Получить версию приложения.
Значение результата
| string | Версия приложения |
setVersion(string $version)
Установить версию приложения.
Параметры
| string | $version | Версия приложения |
string getLongVersion()
Возвращает полную версию приложения.
Значение результата
| string | Полная версия приложения |
Command register(string $name)
Регистрирует новую команду.
Параметры
| string | $name | Имя команды |
Значение результата
| Command | Созданная команда |
addCommands(array $commands)
Добавляет массив объектов команд.
Если команда не включена, она не будет добавлена.
Параметры
| array | $commands | Массив команд |
Command|null add(Command $command)
Добавляет объект команды.
Если команда с таким же именем уже существует, она будет перезаписана. Если команда не включена, она не будет добавлена.
Параметры
| Command | $command | Объект Command |
Значение результата
| Command|null | Зарегистрированная команда, если включена, или null |
Command get(string $name)
Возвращает зарегистрированную команду по имени или псевдониму.
Параметры
| string | $name | Имя команды или псевдоним |
Значение результата
| Command | Объект Command |
Исключения
| CommandNotFoundException | Если команда с заданным именем не существует |
bool has(string $name)
Возвращает true, если команда существует, иначе false.
Параметры
| string | $name | Имя команды или псевдоним |
Значение результата
| bool | true, если команда существует, иначе false |
string[] getNamespaces()
Возвращает массив всех уникальных пространств имён, используемых текущими зарегистрированными командами.
Не возвращает глобальное пространство имён, которое всегда существует.
Значение результата
| string[] | Массив пространств имён |
string findNamespace(string $namespace)
Находит зарегистрированное пространство имён по имени или сокращению.
Параметры
| string | $namespace | Пространство имён или сокращение для поиска |
Значение результата
| string | Зарегистрированное пространство имён |
Исключения
| CommandNotFoundException | Если пространство имён некорректно или многозначно |
Команда find(string $name)
Находит команду по имени или псевдониму.
В отличие от метода get, эта команда пытается найти наилучшее соответствие, если вы предоставите сокращение имени или псевдонима.
Параметры
| string | $name | Имя команды или псевдоним команды |
Возвращаемое значение
| Команда | Экземпляр команды |
Исключения
| CommandNotFoundException | При некорректном или неоднозначном имени команды |
Command[] all(string $namespace = null)
Получает команды (зарегистрированные в указанном пространстве имён, если оно предоставлено).
Ключи массива — полные имена, а значения — экземпляры команд.
Параметры
| string | $namespace | Имя пространства имён |
Возвращаемое значение
| Command[] | Массив экземпляров команды |
static array getAbbreviations(array $names)
Возвращает массив возможных сокращений, заданных набором имён.
Параметры
| array | $names | Массив имён |
Возвращаемое значение
| array | Массив сокращений |
renderException(Exception $e, OutputInterface $output)
Отображает пойманное исключение.
Параметры
| Exception | $e | Экземпляр исключения |
| OutputInterface | $output | Экземпляр OutputInterface |
array getTerminalDimensions() устаревший
устаревший
Пытается определить размеры терминала на основе текущей среды.
Возвращаемое значение
| array | Массив, содержащий ширину и высоту |
$this setTerminalDimensions(int $width, int $height) устаревший
устаревший
Устанавливает размеры терминала.
Может быть полезно для принудительного задания размеров терминала в функциональных тестах.
Параметры
| int | $width | Ширина |
| int | $height | Высота |
Возвращаемое значение
| $this |
string extractNamespace(string $name, string $limit = null)
Возвращает часть пространства имён имени команды.
Этот метод не входит в состав публичного API и не должен использоваться напрямую.
Параметры
| string | $name | Полное имя команды |
| string | $limit | Максимальное количество частей пространства имён |
Возвращаемое значение
| string | Пространство имён команды |
Приложение setDefaultCommand(string $commandName, bool $isSingleCommand = false)
Устанавливает имя команды по умолчанию.
Параметры
| string | $commandName | Имя команды |
| bool | $isSingleCommand | Установите в true, если в этом приложении есть только одна команда |
Возвращаемое значение
| Приложение |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/Console/Application.html