Constants

CODE_ERROR

CODE_ERROR = 1 : integer

Default error code

CODE_SUCCESS

CODE_SUCCESS = 0 : integer

Default success code

Properties

$modelClass

$modelClass : string

This object's primary model class name. Should be a plural form.

CakePHP will not inflect the name.

Example: For an object named 'Comments', the modelClass would be 'Comments'. Plugin classes should use Plugin.Comments style names to correctly load models from the correct plugin.

Type

string

$name

$name : string

The name of this command.

Type

string

$_modelFactories

$_modelFactories : array

A list of overridden model factory functions.

Type

array

$_modelType

$_modelType : string

The model type to use.

Type

string

Methods

__construct()

__construct() 

Constructor

By default CakePHP will construct command objects when building the CommandCollection for your application.

setName()

setName(string  $name) : $this

Set the name this command uses in the collection.

Generally invoked by the CommandCollection when the command is added. Required to have at least one space in the name so that the root command can be calculated.

Parameters

string $name

The name the command uses in the collection.

Throws

\InvalidArgumentException

Returns

$this

getName()

getName() : string

Get the command name.

Returns

string

getOptionParser()

getOptionParser() : \Cake\Console\ConsoleOptionParser

Get the option parser.

You can override buildOptionParser() to define your options & arguments.

Throws

\RuntimeException

When the parser is invalid

Returns

\Cake\Console\ConsoleOptionParser

initialize()

initialize() : void

Hook method invoked by CakePHP when a command is about to be executed.

Override this method and implement expensive/important setup steps that should not run on every command run. This method will be called before the options and arguments are validated and processed.

run()

run(array  $argv, \Cake\Console\ConsoleIo  $io) : integer|null

Run the command.

Parameters

array $argv

Arguments from the CLI environment.

\Cake\Console\ConsoleIo $io

The console io

Returns

integer|null —

Exit code or null for success.

execute()

execute(\Cake\Console\Arguments  $args, \Cake\Console\ConsoleIo  $io) : integer

Main function Prints out the list of commands.

Parameters

\Cake\Console\Arguments $args

The command arguments.

\Cake\Console\ConsoleIo $io

The console io

Returns

integer

abort()

abort(integer  $code = self::CODE_ERROR) : void

Halt the the current process with a StopException.

Parameters

integer $code

The exit code to use.

Throws

\Cake\Console\Exception\StopException

tableLocator()

tableLocator(\Cake\ORM\Locator\LocatorInterface|null  $tableLocator = null) : \Cake\ORM\Locator\LocatorInterface

Sets the table locator.

If no parameters are passed, it will return the currently used locator.

Parameters

\Cake\ORM\Locator\LocatorInterface|null $tableLocator

LocatorInterface instance.

Returns

\Cake\ORM\Locator\LocatorInterface

setTableLocator()

setTableLocator(\Cake\ORM\Locator\LocatorInterface  $tableLocator) : $this

Sets the table locator.

Parameters

\Cake\ORM\Locator\LocatorInterface $tableLocator

LocatorInterface instance.

Returns

$this

log()

log(mixed  $msg, integer|string  $level = \Psr\Log\LogLevel::ERROR, string|array  $context = array()) : boolean

Convenience method to write a message to Log. See Log::write() for more information on writing to logs.

Parameters

mixed $msg

Log message.

integer|string $level

Error level.

string|array $context

Additional log data relevant to this message.

Returns

boolean —

Success of log write.

loadModel()

loadModel(string|null  $modelClass = null, string|null  $modelType = null) : \Cake\Datasource\RepositoryInterface

Loads and constructs repository objects required by this object

Typically used to load ORM Table objects as required. Can also be used to load other types of repository objects your application uses.

If a repository provider does not return an object a MissingModelException will be thrown.

Parameters

string|null $modelClass

Name of model class to load. Defaults to $this->modelClass

string|null $modelType

The type of repository to load. Defaults to the modelType() value.

Throws

\Cake\Datasource\Exception\MissingModelException

If the model class cannot be found.

\InvalidArgumentException

When using a type that has not been registered.

\UnexpectedValueException

If no model type has been defined

Returns

\Cake\Datasource\RepositoryInterface

The model instance created.

modelFactory()

modelFactory(string  $type, callable  $factory) : void

Override a existing callable to generate repositories of a given type.

Parameters

string $type

The name of the repository type the factory function is for.

callable $factory

The factory function used to create instances.

getModelType()

getModelType() : string

Get the model type to be used by this class

Returns

string

setModelType()

setModelType(string  $modelType) : $this

Set the model type to be used by this class

Parameters

string $modelType

The model type

Returns

$this

modelType()

modelType(string|null  $modelType = null) : string|$this

Set or get the model type to be used by this class

Parameters

string|null $modelType

The model type or null to retrieve the current

Returns

string|$this

setCommandCollection()

setCommandCollection(\Cake\Console\CommandCollection  $commands) : void

Set the command collection being used.

Parameters

\Cake\Console\CommandCollection $commands

The commands to use.

setOutputLevel()

setOutputLevel(\Cake\Console\Arguments  $args, \Cake\Console\ConsoleIo  $io) : void

Set the output level based on the Arguments.

Parameters

\Cake\Console\Arguments $args

The command arguments.

\Cake\Console\ConsoleIo $io

The console io

_setModelClass()

_setModelClass(string  $name) : void

Set the modelClass and modelKey properties based on conventions.

If the properties are already set they will not be overwritten

Parameters

string $name

Class name.

asText()

asText(\Cake\Console\ConsoleIo  $io, \ArrayIterator  $commands) : void

Output text.

Parameters

\Cake\Console\ConsoleIo $io

The console io

\ArrayIterator $commands

The command collection to output.

asXml()

asXml(\Cake\Console\ConsoleIo  $io, \ArrayIterator  $commands) : void

Output as XML

Parameters

\Cake\Console\ConsoleIo $io

The console io

\ArrayIterator $commands

The command collection to output