/** * Check help system. * * @return bool */ protected function _helpIsRequired() { if ($_SERVER['argv'][1] != 'help') { return false; } if (empty($_SERVER['argv'][2])) { $this->printAvailableCommands(); return true; } $command = $this->_getRequiredCommand($_SERVER['argv'][2]); if (!$command) { print ConsoleUtil::warningLine('Command "' . $_SERVER['argv'][2] . '" not found.'); return true; } $command->getHelp(!empty($_SERVER['argv'][3]) ? $_SERVER['argv'][3] : null); return true; }
/** * 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; }