/** * Prints the help for current command. * * @param string|null $action Action name. * * @return void */ public function getHelp($action = null) { $commandName = $this->getName(); if ($action) { if (empty($this->_actions[$action])) { print ConsoleUtil::warningLine("Action '{$action}' not found in this command."); return; } print ConsoleUtil::headLine('Help for "' . $commandName . ' ' . $action . '":'); if (isset($this->_actions[$action]) && isset($this->_actions[$action]['description'])) { print ConsoleUtil::textLine($this->_actions[$action]['description']); } else { print ConsoleUtil::textLine($this->getDescription()); } $this->printParameters($action); return; } else { print ConsoleUtil::headLine('Help:'); print ConsoleUtil::textLine($this->getDescription()); } foreach ($this->getActions() as $actionName => $metadata) { $description = isset($metadata['description']) ? $metadata['description'] : ''; print ConsoleUtil::commandLine($commandName . ' ' . $actionName, $description); } print PHP_EOL; }