CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 商业解决方案
  • 商品
  • 公路旅行
  • 团队
  • 社区
    • 社区
    • 参与进来
    • 问题(Github)
    • 烘焙坊
    • 精选资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 时事通讯
    • 领英
    • YouTube
    • 脸书
    • 推特
    • Mastodon
    • 帮助和支持
    • 论坛
    • Stack Overflow
    • IRC
    • Slack
    • 付费支持
CakePHP

C CakePHP 5.1 Chiffon API

  • 项目
    • CakePHP
      • CakePHP
      • Chronos
      • 弹性搜索
      • 队列
  • 版本
    • 5.1
      • 5.1
      • 5.0
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

命名空间

  • 全局
  • Cake
    • 缓存
    • 集合
    • 命令
    • 控制台
      • 命令
      • 异常
      • 测试套件
    • 控制器
    • 核心
    • 数据库
    • 数据源
    • 错误
    • 事件
    • 表单
    • Http
    • 国际化
    • 日志
    • 邮件
    • 网络
    • ORM
    • 路由
    • 测试套件
    • 实用工具
    • 验证
    • 视图

类 CommandRunner

为提供的应用程序运行 CLI 命令。

命名空间: Cake\Console

属性摘要

  • $_eventClass 受保护
    字符串

    新事件对象的默认类名。

  • $_eventManager 受保护
    Cake\Event\EventManagerInterface|null

    Cake\Event\EventManager 的实例,该对象用于调度内部事件。

  • $aliases 受保护
    array<string, string>

    别名映射。

  • $app 受保护
    Cake\Core\ConsoleApplicationInterface

    正在运行的应用程序控制台命令。

  • $factory 受保护
    Cake\Console\CommandFactoryInterface|null

    正在运行的应用程序控制台命令。

  • $root 受保护
    字符串

    根命令名称。默认为 cake。

方法摘要

  • __construct() 公共

    构造函数

  • bootstrap() 受保护

    应用程序引导包装器。

  • createCommand() 受保护

    创建命令实例的包装器。

  • dispatchEvent() 公共

    创建和调度事件的包装器。

  • getCommand() 受保护

    获取给定命令名称的 shell 实例

  • getEventManager() 公共

    获取应用程序的事件管理器或全局管理器。

  • loadRoutes() 受保护

    确保应用程序的路由已加载。

  • longestCommandName() 受保护

    构建集合中存在的最长命令名称

  • resolveName() 受保护

    将命令名称解析为集合中存在的名称。

  • run() 公共

    运行包含在 $argv 中的命令。

  • runCommand() 受保护

    执行命令类。

  • setAliases() 公共

    替换运行程序的整个别名映射。

  • setEventManager() 公共

    获取/设置应用程序的事件管理器。

方法详情

__construct() ¶ 公共

__construct(Cake\Core\ConsoleApplicationInterface $app, string $root = 'cake', Cake\Console\CommandFactoryInterface|null $factory = null)

构造函数

参数
Cake\Core\ConsoleApplicationInterface $app

要运行 CLI 命令的应用程序。

字符串 $root 可选

要从 argv 中删除的根命令名称。

Cake\Console\CommandFactoryInterface|null $factory 可选

命令工厂实例。

bootstrap() ¶ 受保护

bootstrap(): void

应用程序引导包装器。

调用应用程序的 bootstrap() 钩子。在应用程序之后,插件会被引导。

返回值
void

createCommand() ¶ 受保护

createCommand(string $className): Cake\Console\CommandInterface

创建命令实例的包装器。

参数
字符串 $className

命令类名。

返回值
Cake\Console\CommandInterface

dispatchEvent() ¶ 公共

dispatchEvent(string $name, array $data = [], TSubject|null $subject = null): Cake\Event\EventInterface<TSubject>

创建和调度事件的包装器。

返回已分派的事件。

参数
字符串 $name

事件的名称。

数组 $data 可选

您希望随此事件一起传输的任何值,监听器都可以读取这些值。

TSubject|null $subject 可选

此事件适用的对象(默认情况下为 $this)。

返回值
Cake\Event\EventInterface<TSubject>

getCommand() ¶ 受保护

getCommand(Cake\Console\ConsoleIo $io, Cake\Console\CommandCollection $commands, string $name): Cake\Console\CommandInterface

获取给定命令名称的 shell 实例

参数
Cake\Console\ConsoleIo $io

为创建的 shell 类创建的 IO 包装器。

Cake\Console\CommandCollection $commands

要从中查找 shell 的命令集合。

字符串 $name

要查找的命令名称

返回值
Cake\Console\CommandInterface

getEventManager() ¶ 公共

getEventManager(): Cake\Event\EventManagerInterface

获取应用程序的事件管理器或全局管理器。

您可以使用此实例将任何新的监听器或回调注册到对象事件,或者创建您自己的事件并按需触发它们。

返回值
Cake\Event\EventManagerInterface

loadRoutes() ¶ 受保护

loadRoutes(): void

确保应用程序的路由已加载。

控制台命令和 shell 通常需要生成 URL。

返回值
void

longestCommandName() ¶ 受保护

longestCommandName(Cake\Console\CommandCollection $commands, array $argv): array

构建集合中存在的最长命令名称

构建与定义的命令匹配的最长命令名称。这最多会遍历 3 个标记。

参数
Cake\Console\CommandCollection $commands

要检查的命令集合。

数组 $argv

CLI 参数。

返回值
数组

resolveName() ¶ 受保护

resolveName(Cake\Console\CommandCollection $commands, Cake\Console\ConsoleIo $io, string|null $name): string

将命令名称解析为集合中存在的名称。

应用向后兼容的变音和别名。将逐步向前最多 3 个标记在 $argv 中,以在 CommandCollection 中生成命令名称。更具体的命令名称优先于不太具体的命令名称。

参数
Cake\Console\CommandCollection $commands

要检查的命令集合。

Cake\Console\ConsoleIo $io

用于错误的 ConsoleIo 对象。

字符串|null $name

来自 CLI 参数的名称。

返回值
字符串
抛出
Cake\Console\Exception\MissingOptionException

run() ¶ 公共

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

运行包含在 $argv 中的命令。

使用应用程序执行以下操作

  • 引导应用程序
  • 使用应用程序上的 console() 钩子创建 CommandCollection。
  • 触发自动连接插件的 Console.buildCommands 事件。
  • 运行请求的命令。
参数
数组 $argv

来自 CLI 环境的参数。

Cake\Console\ConsoleIo|null $io 可选

ConsoleIo 实例。主要用于测试。

返回值
int

runCommand() ¶ 受保护

runCommand(Cake\Console\CommandInterface $command, array $argv, Cake\Console\ConsoleIo $io): int|null

执行命令类。

参数
Cake\Console\CommandInterface $command

要运行的命令。

数组 $argv

要调用的 CLI 参数。

Cake\Console\ConsoleIo $io

控制台 io

返回值
int|null

setAliases() ¶ 公共

setAliases(array<string, string> $aliases): $this

替换运行程序的整个别名映射。

别名允许您为集合中的命令定义备用名称。这对于添加顶级开关(如 --version 或 -h)很有用

用法

$runner->setAliases(['--version' => 'version']);
参数
array<string, string> $aliases

要替换的别名映射。

返回值
$this

setEventManager() ¶ 公共

setEventManager(Cake\Event\EventManagerInterface $eventManager): $this

获取/设置应用程序的事件管理器。

您可以使用此实例将任何新的监听器或回调注册到对象事件,或者创建您自己的事件并按需触发它们。

参数
Cake\Event\EventManagerInterface $eventManager

要设置的事件管理器。

返回值
$this

属性详情

$_eventClass ¶ protected

新事件对象的默认类名。

类型
字符串

$_eventManager ¶ protected

Cake\Event\EventManager 的实例,该对象用于调度内部事件。

类型
Cake\Event\EventManagerInterface|null

$aliases ¶ protected

别名映射。

类型
array<string, string>

$app ¶ protected

正在运行的应用程序控制台命令。

类型
Cake\Core\ConsoleApplicationInterface

$factory ¶ protected

正在运行的应用程序控制台命令。

类型
Cake\Console\CommandFactoryInterface|null

$root ¶ protected

根命令名称。默认为 cake。

类型
字符串
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与进来
  • 问题(Github)
  • 烘焙坊
  • 精选资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 时事通讯
  • 领英
  • YouTube
  • 脸书
  • 推特
  • Mastodon
  • 帮助和支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成