Class LegacyShellDispatcher
Allows injecting mock IO into shells
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, ?\Cake\Console\ConsoleIo $io)
Constructor
Parameters
-
array
$args optional Argument array
-
bool
$bootstrap optional Initialize environment
-
\Cake\Console\ConsoleIo
$io optional ConsoleIo
_bootstrap() protected
_bootstrap()
Initializes the environment and loads the CakePHP core.
_createShell() protected
_createShell(string $className, string $shortName)
Injects mock and stub io components into the shell
Parameters
-
string
$className Class name
-
string
$shortName Short name
Returns
\Cake\Console\Shell
_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
$_io protected
Type
\Cake\Console\ConsoleIo
$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.0/class-Cake.TestSuite.LegacyShellDispatcher.html