Class Command

Base class for console commands.

Cake\Console\Command uses Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Datasource\ModelAwareTrait

Direct Subclasses

Namespace: Cake\Console
Location: Console/Command.php

Constants summary

  • integer

    CODE_ERROR
    1
  • integer

    CODE_SUCCESS
    0

Properties summary

  • $name protected
    string
    The name of this command.

Inherited Properties

Method Summary

Method Detail

__construct()source public

__construct( )

Constructor

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

abort()source public

abort( integer $code = self::CODE_ERROR )

Halt the the current process with a StopException.

Parameters

integer $code optional self::CODE_ERROR
The exit code to use.

Throws

Cake\Console\Exception\StopException

buildOptionParser()source protected

buildOptionParser( Cake\Console\ConsoleOptionParser $parser )

Hook method for defining this command's option parser.

Parameters

Cake\Console\ConsoleOptionParser $parser
The parser to be defined

Returns

Cake\Console\ConsoleOptionParser
The built parser.

displayHelp()source protected

displayHelp( Cake\Console\ConsoleOptionParser $parser , Cake\Console\Arguments $args , Cake\Console\ConsoleIo $io )

Output help content

Parameters

Cake\Console\ConsoleOptionParser $parser
The option parser.
Cake\Console\Arguments $args
The command arguments.
Cake\Console\ConsoleIo $io
The console io

execute()source public

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

Implement this method with your command's logic.

Parameters

Cake\Console\Arguments $args
The command arguments.
Cake\Console\ConsoleIo $io
The console io

Returns

null|integer
The exit code or null for success

getName()source public

getName( )

Get the command name.

Returns

string

getOptionParser()source public

getOptionParser( )

Get the option parser.

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

Returns

Cake\Console\ConsoleOptionParser

Throws

RuntimeException
When the parser is invalid

initialize()source public

initialize( )

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()source public

run( array $argv , Cake\Console\ConsoleIo $io )

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.

setName()source public

setName( string $name )

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.

Returns


$this

Throws

InvalidArgumentException

setOutputLevel()source protected

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

Set the output level based on the Arguments.

Parameters

Cake\Console\Arguments $args
The command arguments.
Cake\Console\ConsoleIo $io
The console io

Methods used from Cake\ORM\Locator\LocatorAwareTrait

getTableLocator()source public

getTableLocator( )

Gets the table locator.

Returns

Cake\ORM\Locator\LocatorInterface

setTableLocator()source public

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

Sets the table locator.

Parameters

Cake\ORM\Locator\LocatorInterface $tableLocator
LocatorInterface instance.

Returns


$this

tableLocator()source public deprecated

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

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

Deprecated

3.5.0 Use getTableLocator()/setTableLocator() instead.

Parameters

Cake\ORM\Locator\LocatorInterface $tableLocator optional null
LocatorInterface instance.

Returns

Cake\ORM\Locator\LocatorInterface

Methods used from Cake\Log\LogTrait

log()source public

log( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )

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 optional LogLevel::ERROR
Error level.
string|array $context optional []
Additional log data relevant to this message.

Returns

boolean
Success of log write.

Methods used from Cake\Datasource\ModelAwareTrait

_setModelClass()source protected

_setModelClass( string $name )

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.

getModelType()source public

getModelType( )

Get the model type to be used by this class

Returns

string

loadModel()source public

loadModel( string|null $modelClass = null , string|null $modelType = null )

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 optional null
Name of model class to load. Defaults to $this->modelClass
string|null $modelType optional null
The type of repository to load. Defaults to the modelType() value.

Returns

Cake\Datasource\RepositoryInterface
The model instance created.

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

modelFactory()source public

modelFactory( string $type , callable $factory )

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.

modelType()source public deprecated

modelType( string|null $modelType = null )

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

Deprecated

3.5.0 Use getModelType()/setModelType() instead.

Parameters

string|null $modelType optional null
The model type or null to retrieve the current

Returns

string|Cake\Datasource\ModelAwareTrait
$this

setModelType()source public

setModelType( string $modelType )

Set the model type to be used by this class

Parameters

string $modelType
The model type

Returns


$this

Properties detail

$namesource

protected string

The name of this command.

'cake unknown'

© 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/3.6/class-Cake.Console.Command.html