Fr3nch13/CakePHP Utilities

ShellDispatcher
in package

Shell dispatcher handles dispatching CLI commands.

ShellDispatcher and Shell will be removed in 5.0

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

Table of Contents

Properties

$args  : array<string|int, mixed>
Contains arguments parsed from the command line.
$_aliases  : array<string, string>
List of connected aliases.

Methods

__construct()  : mixed
Constructor
addShortPluginAliases()  : array<string|int, mixed>
For all loaded plugins, add a short alias
alias()  : string|null
Add an alias for a shell command.
dispatch()  : int
Dispatches a CLI request
findShell()  : Shell
Get shell to use, either plugin shell or application shell
help()  : void
Shows console help. Performs an internal dispatch to the CommandList Shell
resetAliases()  : void
Clear any aliases that have been set.
run()  : int
Run the dispatcher
shiftArgs()  : mixed
Removes first argument and shifts other arguments up
version()  : void
Prints the currently installed version of CakePHP. Performs an internal dispatch to the CommandList Shell
_bootstrap()  : void
Initializes the environment and loads the CakePHP core.
_createShell()  : Shell
Create the given shell name, and set the plugin property
_dispatch()  : int|bool|null
Dispatch a request.
_handleAlias()  : string
If the input matches an alias, return the aliased shell name
_initEnvironment()  : void
Defines current working environment.
_shellExists()  : string|null
Check if a shell class exists for the given name.

Properties

$args

Contains arguments parsed from the command line.

public array<string|int, mixed> $args = []

$_aliases

List of connected aliases.

protected static array<string, string> $_aliases = []

Methods

__construct()

Constructor

public __construct([array<string|int, mixed> $args = [] ][, bool $bootstrap = true ]) : mixed

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
$args : array<string|int, mixed> = []

the argv from PHP

$bootstrap : bool = true

Should the environment be bootstrapped.

addShortPluginAliases()

For all loaded plugins, add a short alias

public addShortPluginAliases() : array<string|int, mixed>

This permits a plugin which implements a shell of the same name to be accessed Using the shell name alone

Return values
array<string|int, mixed> —

the resultant list of aliases

alias()

Add an alias for a shell command.

public static alias(string $short[, string|null $original = null ]) : string|null

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
$short : string

The new short name for the shell.

$original : string|null = null

The original full name for the shell.

Return values
string|null —

The aliased class name, or null if the alias does not exist

dispatch()

Dispatches a CLI request

public dispatch([array<string|int, mixed> $extra = [] ]) : int

Converts a shell command result into an exit code. Null/True are treated as success. All other return values are an error.

Parameters
$extra : array<string|int, mixed> = []

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
Return values
int —

The CLI command exit code. 0 is success.

findShell()

Get shell to use, either plugin shell or application shell

public findShell(string $shell) : Shell

All paths in the loaded shell paths are searched, handles alias dereferencing

Parameters
$shell : string

Optionally the name of a plugin

Tags
throws
MissingShellException

when errors are encountered.

Return values
Shell —

A shell instance.

help()

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

public help() : void

resetAliases()

Clear any aliases that have been set.

public static resetAliases() : void

run()

Run the dispatcher

public static run(array<string|int, mixed> $argv[, array<string|int, mixed> $extra = [] ]) : int
Parameters
$argv : array<string|int, mixed>

The argv from PHP

$extra : array<string|int, mixed> = []

Extra parameters

Return values
int —

The exit code of the shell process.

shiftArgs()

Removes first argument and shifts other arguments up

public shiftArgs() : mixed
Return values
mixed —

Null if there are no arguments otherwise the shifted argument

version()

Prints the currently installed version of CakePHP. Performs an internal dispatch to the CommandList Shell

public version() : void

_bootstrap()

Initializes the environment and loads the CakePHP core.

protected _bootstrap() : void

_createShell()

Create the given shell name, and set the plugin property

protected _createShell(string $className, string $shortName) : Shell
Parameters
$className : string

The class name to instantiate

$shortName : string

The plugin-prefixed shell name

Return values
Shell —

A shell instance.

_dispatch()

Dispatch a request.

protected _dispatch([array<string|int, mixed> $extra = [] ]) : int|bool|null
Parameters
$extra : array<string|int, mixed> = []

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
Tags
throws
MissingShellMethodException
Return values
int|bool|null

_handleAlias()

If the input matches an alias, return the aliased shell name

protected _handleAlias(string $shell) : string
Parameters
$shell : string

Optionally the name of a plugin or alias

Return values
string —

Shell name with plugin prefix

_shellExists()

Check if a shell class exists for the given name.

protected _shellExists(string $shell) : string|null
Parameters
$shell : string

The shell name to look for.

Return values
string|null —

Either the classname or null.


        
On this page

Search results