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|nullThrows
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
stringShell 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|nullEither 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
arraythe 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|nullThe 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
intThe 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\ShellA shell instance.
Throws
Cake\Console\Exception\MissingShellExceptionwhen 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
intThe exit code of the shell process.
shiftArgs() public
shiftArgs()
Removes first argument and shifts other arguments up
Returns
mixedNull 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