类 BaseCommand
控制台命令的基类。
为通用命令功能提供钩子
initialize
充当 post-construct 钩子。buildOptionParser
为您的命令构建/配置选项解析器。execute
使用解析后的参数和 ConsoleIo 执行您的命令
属性摘要
-
$_eventClass protected
string
新事件对象的默认类名。
-
$_eventManager protected
Cake\Event\EventManagerInterface|null
此对象正在使用的 Cake\Event\EventManager 的实例,用于分派内部事件。
-
$name protected
string
此命令的名称。
方法摘要
-
abort() public
使用 StopException 停止当前进程。
-
buildOptionParser() protected
为定义此命令的选项解析器提供的钩子方法。
-
defaultName() public static
获取命令名称。
-
dispatchEvent() public
用于创建和分派事件的包装器。
-
displayHelp() protected
输出帮助内容
-
execute() abstract public
使用您的命令的逻辑实现此方法。
-
executeCommand() public
使用提供的参数集执行另一个命令。
-
getDescription() public static
获取命令描述。
-
getEventManager() public
返回此对象的 Cake\Event\EventManager 管理器实例。
-
getName() public
获取命令名称。
-
getOptionParser() public
获取选项解析器。
-
getRootName() public
获取根命令名称。
-
initialize() public
CakePHP 在命令即将执行时调用的钩子方法。
-
run() public
运行命令。
-
setEventManager() public
返回此对象的 Cake\Event\EventManagerInterface 实例。
-
setName() public
设置此命令在集合中使用的名称。
-
setOutputLevel() protected
根据参数设置输出级别。
方法详情
abort() ¶ public
abort(int $code = self::CODE_ERROR): never
使用 StopException 停止当前进程。
参数
-
int
$code optional 要使用的退出代码。
返回
从不
抛出
Cake\Console\Exception\StopException
buildOptionParser() ¶ protected
buildOptionParser(Cake\Console\ConsoleOptionParser $parser): Cake\Console\ConsoleOptionParser
为定义此命令的选项解析器提供的钩子方法。
参数
-
Cake\Console\ConsoleOptionParser
$parser 要定义的解析器
返回
Cake\Console\ConsoleOptionParser
defaultName() ¶ public static
defaultName(): string
获取命令名称。
根据类名返回命令名称。例如,对于类名为 UpdateTableCommand
的命令,返回的默认名称将为 'update_table'
。
返回
string
dispatchEvent() ¶ public
dispatchEvent(string $name, array $data = [], TSubject|null $subject = null): Cake\Event\EventInterface<TSubject>
用于创建和分派事件的包装器。
返回分派的事件。
参数
-
string
$name 事件的名称。
-
array
$data optional 您希望使用此事件传输的任何值,侦听器都可以读取它。
-
TSubject|null
$subject optional 此事件适用的对象(默认情况下为 $this)。
返回
Cake\Event\EventInterface<TSubject>
displayHelp() ¶ protected
displayHelp(Cake\Console\ConsoleOptionParser $parser, Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
输出帮助内容
参数
-
Cake\Console\ConsoleOptionParser
$parser 选项解析器。
-
Cake\Console\Arguments
$args 命令参数。
-
Cake\Console\ConsoleIo
$io 控制台 IO
返回
void
execute() ¶ abstract public
execute(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): int|null|void
使用您的命令的逻辑实现此方法。
参数
-
Cake\Console\Arguments
$args 命令参数。
-
Cake\Console\ConsoleIo
$io 控制台 IO
返回
int|null|void
executeCommand() ¶ public
executeCommand(Cake\Console\CommandInterface|string $command, array $args = [], Cake\Console\ConsoleIo|null $io = null): int|null
使用提供的参数集执行另一个命令。
如果您使用的是字符串命令名称,则该命令的依赖项将不会与应用程序容器一起解析。相反,您需要将命令作为具有所有依赖项的对象传递。
参数
-
Cake\Console\CommandInterface|string
$command 命令类名或命令实例。
-
array
$args optional 用于调用命令的参数。
-
Cake\Console\ConsoleIo|null
$io optional 用于执行命令的 ConsoleIo 实例。
返回
int|null
getEventManager() ¶ public
getEventManager(): Cake\Event\EventManagerInterface
返回此对象的 Cake\Event\EventManager 管理器实例。
您可以使用此实例将任何新的侦听器或回调注册到对象的事件,或者创建您自己的事件并随意触发它们。
返回
Cake\Event\EventManagerInterface
getOptionParser() ¶ public
getOptionParser(): Cake\Console\ConsoleOptionParser
获取选项解析器。
您可以覆盖 buildOptionParser() 以定义您的选项和参数。
返回
Cake\Console\ConsoleOptionParser
抛出
Cake\Core\Exception\CakeException
当解析器无效时
initialize() ¶ public
initialize(): void
CakePHP 在命令即将执行时调用的钩子方法。
覆盖此方法并实现不应该在每次命令运行时运行的昂贵/重要的设置步骤。此方法将在选项和参数验证和处理之前调用。
返回
void
run() ¶ public
run(array $argv, Cake\Console\ConsoleIo $io): int|null
运行命令。
参数
-
array
$argv -
Cake\Console\ConsoleIo
$io
返回
int|null
setEventManager() ¶ public
setEventManager(Cake\Event\EventManagerInterface $eventManager): $this
返回此对象的 Cake\Event\EventManagerInterface 实例。
您可以使用此实例将任何新的侦听器或回调注册到对象的事件,或者创建您自己的事件并随意触发它们。
参数
-
Cake\Event\EventManagerInterface
$eventManager 要设置的事件管理器
返回
$this
setName() ¶ public
setName(string $name): $this
设置此命令在集合中使用的名称。
通常由 CommandCollection 在添加命令时调用。 要求名称中至少包含一个空格,以便可以计算根命令。
参数
-
string
$name
返回
$this
setOutputLevel() ¶ protected
setOutputLevel(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
根据参数设置输出级别。
参数
-
Cake\Console\Arguments
$args 命令参数。
-
Cake\Console\ConsoleIo
$io 控制台 IO
返回
void