Class LegacyShellDispatcher
Allows injecting mock IO into shells
- Cake\Console\ShellDispatcher
-
Cake\TestSuite\LegacyShellDispatcher
Properties summary
-
$_io
protected
Method Summary
-
__construct() public
Constructor -
_createShell() protected
Injects mock and stub io components into the shell
Method Detail
__construct() public ¶
__construct( array $args [] , boolean $bootstrap true , Cake\Console\ConsoleIo
$io null )
Constructor
Parameters
- array $args optional []
- Argument array
- boolean $bootstrap optional true
- Initialize environment
-
Cake\Console\ConsoleIo
$io optional null - ConsoleIo
Overrides
_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
Overrides
Methods inherited from Cake\Console\ShellDispatcher
_bootstrap() protected ¶
_bootstrap( )
Initializes the environment and loads the CakePHP core.
Returns
Success.
_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
Throws
_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
Shell name with plugin prefix
_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
Either the classname or false.
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
the resultant list of aliases
alias() public static ¶
alias( string $short , string|null $original null )
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 null
- The original full name for the shell.
Returns
The aliased class name, or false 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
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
Throws
run() public static ¶
run( array $argv , array $extra [] )
Run the dispatcher
Parameters
- array $argv
- The argv from PHP
- array $extra optional []
- Extra parameters
Returns
The exit code of the shell process.
shiftArgs() public ¶
shiftArgs( )
Removes first argument and shifts other arguments up
Returns
Null if there are no arguments otherwise the shifted argument