Class ShellDispatcher

Shell dispatcher handles dispatching cli commands.

Consult /bin/cake.php for how this class is used in practice.

Namespace: Cake\Console
Located at Console/ShellDispatcher.php

Method Detail

__constructsource public

__construct( array $args [] , boolean $bootstrap true )

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
boolean $bootstrap optional true
Should the environment be bootstrapped.

_bootstrapsource protected

_bootstrap( )

Initializes the environment and loads the CakePHP core.

Returns

boolean
Success.

_createShellsource 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.

_dispatchsource 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

boolean
bool

Throws

Cake\Console\Exception\MissingShellMethodException
\Cake\Console\Exception\MissingShellMethodException

_handleAliassource 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

_initEnvironmentsource protected

_initEnvironment( )

Defines current working environment.

Throws

Cake\Core\Exception\Exception
\Cake\Core\Exception\Exception

_shellExistssource 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|boolean
Either the classname or false.

addShortPluginAliasessource 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

aliassource 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

string|false
The aliased class name, or false if the alias does not exist

dispatchsource 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

integer
The cli command exit code. 0 is success.

findShellsource 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.

helpsource public

help( )

Shows console help. Performs an internal dispatch to the CommandList Shell

resetAliasessource public static

resetAliases( )

Clear any aliases that have been set.

runsource public static

run( array $argv , array $extra [] )

Run the dispatcher

Parameters

array $argv
The argv from PHP
array $extra optional []
Extra parameters

Returns

integer
The exit code of the shell process.

shiftArgssource public

shiftArgs( )

Removes first argument and shifts other arguments up

Returns

mixed
Null if there are no arguments otherwise the shifted argument

Properties summary

$_aliasessource

protected static array

List of connected aliases.

[]

$argssource

public array

Contains arguments parsed from the command line.

[]

© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Console.ShellDispatcher.html