Class HelpCommand
Print out command list
Property Summary
-
$_eventClass protected
stringDefault class name for new event objects.
-
$_eventManager protected
Cake\Event\EventManagerInterfaceInstance of the Cake\Event\EventManager this object is using to dispatch inner events.
-
$commands protected
Cake\Console\CommandCollectionThe command collection to get help on.
-
$factory protected
?CommandFactoryInterface -
$name protected
stringThe name of this command.
Method Summary
-
__construct() public
Constructor
-
abort() public
Halt the current process with a StopException.
-
afterExecute() public
Called immediately after the command's run method, unless an exception occurs. You can use this method to perform logic that needs to happen after the command runs.
-
asText() protected
Output text.
-
asXml() protected
Output as XML
-
beforeExecute() public
Called immediately prior to the command's run method. You can use this method to configure and customize the command or perform logic that needs to happen before the command runs.
-
buildOptionParser() protected
Gets the option parser instance and configures it.
-
defaultName() public static
Get the command name.
-
dispatchEvent() public
Wrapper for creating and dispatching events.
-
displayHelp() protected
Output help content
-
execute() public
Main function Prints out the list of commands.
-
executeCommand() public
Execute another command with the provided set of arguments.
-
filterByPrefix() protected
Filter commands by prefix.
-
getDescription() public static
Get the command description.
-
getEventManager() public
Returns the Cake\Event\EventManager manager instance for this object.
-
getName() public
Get the command name.
-
getOptionParser() public
Get the option parser.
-
getRootName() public
Get the root command name.
-
getShortestName() protected
-
getTerminalWidth() protected
Get terminal width for line wrapping.
-
implementedEvents() public
Returns a list of all events that will fire in the command during its lifecycle. You can override this function to add your own listener callbacks
-
initialize() public
Hook method invoked by CakePHP when a command is about to be executed.
-
outputCompactCommands() protected
Output commands with inline descriptions, grouped by prefix.
-
outputGrouped() protected
Output commands grouped by plugin/namespace (verbose mode).
-
outputPaths() protected
Output relevant paths if defined
-
outputWrappedLine() protected
Output a line with description, wrapping based on terminal width.
-
run() public
Run the command.
-
setCommandCollection() public
Set the command collection being used.
-
setEventManager() public
Returns the Cake\Event\EventManagerInterface instance for this object.
-
setName() public
Set the name this command uses in the collection.
-
setOutputLevel() protected
Set the output level based on the Arguments.
-
stripMarkup() protected
Strip ConsoleOutput markup tags from a string.
Method Detail
__construct() ¶ public
__construct(Cake\Console\CommandFactoryInterface|null $factory = null)
Constructor
Parameters
-
Cake\Console\CommandFactoryInterface|null$factory optional Command factory instance.
abort() ¶ public
abort(int $code = self::CODE_ERROR): never
Halt the current process with a StopException.
Parameters
-
int$code optional The exit code to use.
Returns
neverThrows
Cake\Console\Exception\StopExceptionafterExecute() ¶ public
afterExecute(Cake\Event\EventInterface<static> $event, Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io, int|null $result): void
Called immediately after the command's run method, unless an exception occurs. You can use this method to perform logic that needs to happen after the command runs.
Parameters
-
Cake\Event\EventInterface<static>$event An Event instance
-
Cake\Console\Arguments$args -
Cake\Console\ConsoleIo$io -
int|null$result
Returns
voidLinks
asText() ¶ protected
asText(Cake\Console\ConsoleIo $io, iterable<string, string|object> $commands, bool $verbose = false): void
Output text.
Parameters
-
Cake\Console\ConsoleIo$io The console io
-
iterable<string, string|object>$commands The command collection to output.
-
bool$verbose optional Whether to show verbose output with descriptions.
Returns
voidasXml() ¶ protected
asXml(Cake\Console\ConsoleIo $io, iterable<string, string|object> $commands): void
Output as XML
Parameters
-
Cake\Console\ConsoleIo$io The console io
-
iterable<string, string|object>$commands The command collection to output
Returns
voidbeforeExecute() ¶ public
beforeExecute(Cake\Event\EventInterface<static> $event, Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
Called immediately prior to the command's run method. You can use this method to configure and customize the command or perform logic that needs to happen before the command runs.
Parameters
-
Cake\Event\EventInterface<static>$event An Event instance
-
Cake\Console\Arguments$args -
Cake\Console\ConsoleIo$io
Returns
voidLinks
buildOptionParser() ¶ protected
buildOptionParser(Cake\Console\ConsoleOptionParser $parser): Cake\Console\ConsoleOptionParser
Gets the option parser instance and configures it.
Parameters
-
Cake\Console\ConsoleOptionParser$parser The parser to build
Returns
Cake\Console\ConsoleOptionParserdefaultName() ¶ public static
defaultName(): string
Get the command name.
Returns the command name based on class name.
For e.g. for a command with class name UpdateTableCommand the default
name returned would be 'update_table'.
Returns
stringdispatchEvent() ¶ public
dispatchEvent(string $name, array $data = [], TSubject|null $subject = null): Cake\Event\EventInterface<TSubject>
Wrapper for creating and dispatching events.
Returns a dispatched event.
Parameters
-
string$name Name of the event.
-
array$data optional Any value you wish to be transported with this event to it can be read by listeners.
-
TSubject|null$subject optional The object that this event applies to ($this by default).
Returns
Cake\Event\EventInterface<TSubject>displayHelp() ¶ protected
displayHelp(Cake\Console\ConsoleOptionParser $parser, Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
Output help content
Parameters
-
Cake\Console\ConsoleOptionParser$parser The option parser.
-
Cake\Console\Arguments$args The command arguments.
-
Cake\Console\ConsoleIo$io The console io
Returns
voidexecute() ¶ public
execute(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): int|null
Main function Prints out the list of commands.
Parameters
-
Cake\Console\Arguments$args The command arguments.
-
Cake\Console\ConsoleIo$io The console io
Returns
int|nullexecuteCommand() ¶ public
executeCommand(Cake\Console\CommandInterface|string $command, array $args = [], Cake\Console\ConsoleIo|null $io = null): int|null
Execute another command with the provided set of arguments.
If you are using a string command name, that command's dependencies will not be resolved with the application container. Instead you will need to pass the command as an object with all of its dependencies.
Parameters
-
Cake\Console\CommandInterface|string$command The command class name or command instance.
-
array$args optional The arguments to invoke the command with.
-
Cake\Console\ConsoleIo|null$io optional The ConsoleIo instance to use for the executed command.
Returns
int|nullThe exit code or null for success of the command.
filterByPrefix() ¶ protected
filterByPrefix(iterable<string, string|object> $commands, string $prefix): array<string, string|object>
Filter commands by prefix.
Parameters
-
iterable<string, string|object>$commands The command collection.
-
string$prefix The prefix to filter by.
Returns
array<string, string|object>Filtered commands.
getDescription() ¶ public static
getDescription(): string
Get the command description.
Returns
stringgetEventManager() ¶ public
getEventManager(): Cake\Event\EventManagerInterface
Returns the Cake\Event\EventManager manager instance for this object.
You can use this instance to register any new listeners or callbacks to the object events, or create your own events and trigger them at will.
Returns
Cake\Event\EventManagerInterfacegetOptionParser() ¶ public
getOptionParser(): Cake\Console\ConsoleOptionParser
Get the option parser.
You can override buildOptionParser() to define your options & arguments.
Returns
Cake\Console\ConsoleOptionParserThrows
Cake\Core\Exception\CakeExceptionWhen the parser is invalid
getShortestName() ¶ protected
getShortestName(array<string> $names): string
Parameters
-
array<string>$names Names
Returns
stringgetTerminalWidth() ¶ protected
getTerminalWidth(): int
Get terminal width for line wrapping.
Returns
intTerminal width in columns
implementedEvents() ¶ public
implementedEvents(): array<string, mixed>
Returns a list of all events that will fire in the command during its lifecycle. You can override this function to add your own listener callbacks
Example:
public function implementedEvents()
{
return [
'Order.complete' => 'sendEmail',
'Article.afterBuy' => 'decrementInventory',
'User.onRegister' => ['callable' => 'logRegistration', 'priority' => 20, 'passParams' => true]
];
}
Returns
array<string, mixed>initialize() ¶ public
initialize(): void
Hook method invoked by CakePHP when a command is about to be executed.
Override this method and implement expensive/important setup steps that should not run on every command run. This method will be called before the options and arguments are validated and processed.
Returns
voidoutputCompactCommands() ¶ protected
outputCompactCommands(Cake\Console\ConsoleIo $io, array<array{name: string, description: string}> $commands): void
Output commands with inline descriptions, grouped by prefix.
Parameters
-
Cake\Console\ConsoleIo$io The console io
-
array<array{name: string, description: string}>$commands List of commands with names and descriptions.
Returns
voidoutputGrouped() ¶ protected
outputGrouped(Cake\Console\ConsoleIo $io, array<string, array<string>> $invert): void
Output commands grouped by plugin/namespace (verbose mode).
Parameters
-
Cake\Console\ConsoleIo$io The console io
-
array<string, array<string>>$invert Inverted command map (class => names).
Returns
voidoutputPaths() ¶ protected
outputPaths(Cake\Console\ConsoleIo $io): void
Output relevant paths if defined
Parameters
-
Cake\Console\ConsoleIo$io IO object.
Returns
voidoutputWrappedLine() ¶ protected
outputWrappedLine(Cake\Console\ConsoleIo $io, string $prefix, string $description, int $maxWidth, int $maxChars = 200): void
Output a line with description, wrapping based on terminal width.
Parameters
-
Cake\Console\ConsoleIo$io The console io
-
string$prefix The line prefix (command name with padding)
-
string$description The description text
-
int$maxWidth Maximum terminal width
-
int$maxChars optional Maximum total description characters (0 = unlimited)
Returns
voidrun() ¶ public
run(array $argv, Cake\Console\ConsoleIo $io): int|null
Run the command.
Parameters
-
array$argv -
Cake\Console\ConsoleIo$io
Returns
int|nullsetCommandCollection() ¶ public
setCommandCollection(Cake\Console\CommandCollection $commands): void
Set the command collection being used.
Parameters
-
Cake\Console\CommandCollection$commands
Returns
voidsetEventManager() ¶ public
setEventManager(Cake\Event\EventManagerInterface $eventManager): $this
Returns the Cake\Event\EventManagerInterface instance for this object.
You can use this instance to register any new listeners or callbacks to the object events, or create your own events and trigger them at will.
Parameters
-
Cake\Event\EventManagerInterface$eventManager the eventManager to set
Returns
$thissetName() ¶ public
setName(string $name): $this
Set the name this command uses in the collection.
Generally invoked by the CommandCollection when the command is added. Required to have at least one space in the name so that the root command can be calculated.
Parameters
-
string$name
Returns
$thissetOutputLevel() ¶ protected
setOutputLevel(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
Set the output level based on the Arguments.
Parameters
-
Cake\Console\Arguments$args The command arguments.
-
Cake\Console\ConsoleIo$io The console io
Returns
voidstripMarkup() ¶ protected
stripMarkup(string $text): string
Strip ConsoleOutput markup tags from a string.
Parameters
-
string$text Text that may contain markup tags
Returns
stringText with markup tags removed
Property Detail
$_eventManager ¶ protected
Instance of the Cake\Event\EventManager this object is using to dispatch inner events.
Type
Cake\Event\EventManagerInterface