Class ShellDispatcher
Shell dispatcher handles dispatching CLI commands.
Consult /bin/cake.php for how this class is used in practice.
Properties summary
Method Summary
- version() public
Prints the currently installed version of CakePHP. Performs an internal dispatch to the CommandList Shell
Method Detail
__construct() public
__construct(array $args, bool $bootstrap)
Constructor
The execution of the script is stopped after dispatching the request with a status code of either 0 or 1 according to the result of the dispatch.
Parameters
-
array
$args optional the argv from PHP
-
bool
$bootstrap optional Should the environment be bootstrapped.
_bootstrap() protected
_bootstrap()
Initializes the environment and loads the CakePHP core.
_createShell() protected
_createShell(string $className, string $shortName)
Create the given shell name, and set the plugin property
Parameters
-
string
$className The class name to instantiate
-
string
$shortName The plugin-prefixed shell name
Returns
\Cake\Console\Shell
A shell instance.
_dispatch() protected
_dispatch(array $extra)
Dispatch a request.
Parameters
-
array
$extra optional -
Extra parameters that you can manually pass to the Shell to be dispatched. Built-in extra parameter is :
-
requested
: if used, will prevent the Shell welcome message to be displayed
-
Returns
bool|int|null
Throws
Cake\Console\Exception\MissingShellMethodException
_handleAlias() protected
_handleAlias(string $shell)
If the input matches an alias, return the aliased shell name
Parameters
-
string
$shell Optionally the name of a plugin or alias
Returns
string
Shell name with plugin prefix
_initEnvironment() protected
_initEnvironment()
Defines current working environment.
Throws
Cake\Core\Exception\Exception
_shellExists() protected
_shellExists(string $shell)
Check if a shell class exists for the given name.
Parameters
-
string
$shell The shell name to look for.
Returns
string|null
Either the classname or null.
addShortPluginAliases() public
addShortPluginAliases()
For all loaded plugins, add a short alias
This permits a plugin which implements a shell of the same name to be accessed Using the shell name alone
Returns
array
the resultant list of aliases
alias() public static
alias(string $short, ?string $original)
Add an alias for a shell command.
Aliases allow you to call shells by alternate names. This is most useful when dealing with plugin shells that you want to have shorter names for.
If you re-use an alias the last alias set will be the one available.
Usage
Aliasing a shell named ClassName:
$this->alias('alias', 'ClassName');
Getting the original name for a given alias:
$this->alias('alias');
Parameters
-
string
$short The new short name for the shell.
-
string|null
$original optional The original full name for the shell.
Returns
string|null
The aliased class name, or null if the alias does not exist
dispatch() public
dispatch(array $extra)
Dispatches a CLI request
Converts a shell command result into an exit code. Null/True are treated as success. All other return values are an error.
Parameters
-
array
$extra optional -
Extra parameters that you can manually pass to the Shell to be dispatched. Built-in extra parameter is :
-
requested
: if used, will prevent the Shell welcome message to be displayed
-
Returns
int
The CLI command exit code. 0 is success.
findShell() public
findShell(string $shell)
Get shell to use, either plugin shell or application shell
All paths in the loaded shell paths are searched, handles alias dereferencing
Parameters
-
string
$shell Optionally the name of a plugin
Returns
\Cake\Console\Shell
A shell instance.
Throws
Cake\Console\Exception\MissingShellException
when errors are encountered.
help() public
help()
Shows console help. Performs an internal dispatch to the CommandList Shell
resetAliases() public static
resetAliases()
Clear any aliases that have been set.
run() public static
run(array $argv, array $extra)
Run the dispatcher
Parameters
-
array
$argv The argv from PHP
-
array
$extra optional Extra parameters
Returns
int
The exit code of the shell process.
shiftArgs() public
shiftArgs()
Removes first argument and shifts other arguments up
Returns
mixed
Null if there are no arguments otherwise the shifted argument
version() public
version()
Prints the currently installed version of CakePHP. Performs an internal dispatch to the CommandList Shell
Property Detail
$_aliases protected static
List of connected aliases.
Type
array
$args public
Contains arguments parsed from the command line.
Type
array
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.1/class-Cake.Console.ShellDispatcher.html