Приложение
класс Приложение
Приложение — контейнер для набора команд.
Это главный входной пункт консольного приложения.
Этот класс оптимизирован для стандартной среды CLI.
Использование:
$app = new Application('myapp', '1.0 (stable)');
$app->add(new SimpleCommand());
$app->run();
Методы
| __construct(string $name = 'НЕИЗВЕСТНО', string $version = 'НЕИЗВЕСТНО') Конструктор. | ||
| 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) Возвращает часть имени команды, относящуюся к пространству имён. | |
| setDefaultCommand(string $commandName) Устанавливает имя команды по умолчанию. |
Подробности
__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, если всё прошло хорошо, или код ошибки |
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 | Если пространство имен неверно или неоднозначно |
Command find(string $name)
Ищет команду по имени или псевдониму.
В отличие от метода get, эта команда пытается найти наилучшее соответствие, если вы передадите ей сокращение имени или псевдонима.
Параметры
| строка | $name | Имя команды или псевдоним команды |
Возвращаемое значение
| Команда | Экземпляр Command |
Исключения
| ИсключениеCommandNotFoundException | При некорректном или неоднозначном имени команды |
Команда[] all(строка $namespace = null)
Возвращает команды (зарегистрированные в указанном пространстве имен, если оно предоставлено).
Ключи массива — полные имена, а значения — экземпляры команд.
Параметры
| строка | $namespace | Имя пространства имён |
Возвращаемое значение
| Команда[] | Массив экземпляров Command |
static массив getAbbreviations(массив $names)
Возвращает массив возможных сокращений, заданных набором имён.
Параметры
| массив | $names | Массив имён |
Возвращаемое значение
| массив | Массив сокращений |
renderException(Исключение $e, ИнтерфейсВывода $output)
Отображает пойманное исключение.
Параметры
| Исключение | $e | Экземпляр исключения |
| ИнтерфейсВывода | $output | Экземпляр OutputInterface |
массив getTerminalDimensions()
Пытается определить размеры терминала на основе текущей среды.
Возвращаемое значение
| массив | Массив, содержащий ширину и высоту |
$this setTerminalDimensions(целое $width, целое $height)
Устанавливает размеры терминала.
Может быть полезно для принудительного задания размеров терминала для функциональных тестов.
Параметры
| целое | $width | Ширина |
| целое | $height | Высота |
Возвращаемое значение
| $this |
строка extractNamespace(строка $name, строка $limit = null)
Возвращает часть пространства имён имени команды.
Этот метод не входит в публичный API и не должен использоваться напрямую.
Параметры
| строка | $name | Полное имя команды |
| строка | $limit | Максимальное количество частей пространства имён |
Возвращаемое значение
| строка | Пространство имён команды |
setDefaultCommand(строка $commandName)
Устанавливает имя команды по умолчанию.
Параметры
| строка | $commandName | Имя команды |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.1/Symfony/Component/Console/Application.html