78 lines
1.8 KiB
PHP
78 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
* HelpCommand class file.
|
|
*
|
|
* @author Qiang Xue <qiang.xue@gmail.com>
|
|
* @link http://www.yiiframework.com/
|
|
* @copyright 2008-2013 Yii Software LLC
|
|
* @license http://www.yiiframework.com/license/
|
|
*/
|
|
|
|
/**
|
|
* HelpCommand displays help information for commands under yiic shell.
|
|
*
|
|
* @property string $help The command description.
|
|
*
|
|
* @author Qiang Xue <qiang.xue@gmail.com>
|
|
* @package system.cli.commands.shell
|
|
* @since 1.0
|
|
*/
|
|
class HelpCommand extends CConsoleCommand
|
|
{
|
|
/**
|
|
* Execute the action.
|
|
* @param array $args command line parameters specific for this command
|
|
* @return integer non zero application exit code for help
|
|
*/
|
|
public function run($args)
|
|
{
|
|
$runner=$this->getCommandRunner();
|
|
$commands=$runner->commands;
|
|
if(isset($args[0]))
|
|
$name=strtolower($args[0]);
|
|
if(!isset($args[0]) || !isset($commands[$name]))
|
|
{
|
|
echo <<<EOD
|
|
At the prompt, you may enter a PHP statement or one of the following commands:
|
|
|
|
EOD;
|
|
$commandNames=array_keys($commands);
|
|
sort($commandNames);
|
|
echo ' - '.implode("\n - ",$commandNames);
|
|
echo <<<EOD
|
|
|
|
|
|
Type 'help <command-name>' for details about a command.
|
|
|
|
To expand the above command list, place your command class files
|
|
under 'protected/commands/shell', or a directory specified
|
|
by the 'YIIC_SHELL_COMMAND_PATH' environment variable. The command class
|
|
must extend from CConsoleCommand.
|
|
|
|
EOD;
|
|
}
|
|
else
|
|
echo $runner->createCommand($name)->getHelp();
|
|
return 1;
|
|
}
|
|
|
|
/**
|
|
* Provides the command description.
|
|
* @return string the command description.
|
|
*/
|
|
public function getHelp()
|
|
{
|
|
return <<<EOD
|
|
USAGE
|
|
help [command-name]
|
|
|
|
DESCRIPTION
|
|
Display the help information for the specified command.
|
|
If the command name is not given, all commands will be listed.
|
|
|
|
PARAMETERS
|
|
* command-name: optional, the name of the command to show help information.
|
|
|
|
EOD;
|
|
}
|
|
} |