类 PluginAssetsSymlinkCommand
用于将插件资产符号链接/复制到应用程序的 webroot 的命令。
属性摘要
-
$_eventClass protected
string
新事件对象的默认类名。
-
$_eventManager protected
Cake\Event\EventManagerInterface|null
Cake\Event\EventManager 的实例,该对象用于分派内部事件。
-
$_tableLocator protected
Cake\ORM\Locator\LocatorInterface|null
表定位器实例
-
$args protected
Cake\Console\Arguments
参数
-
$defaultTable protected
string|null
此对象的默认表别名。
-
$io protected
Cake\Console\ConsoleIo
控制台 IO
-
$name protected
string
此命令的名称。
方法摘要
-
_copyDirectory() protected
复制目录
-
_createDirectory() protected
创建目录
-
_createSymlink() protected
创建符号链接
-
_list() protected
获取要处理的插件列表。没有 webroot 目录的插件将被跳过。
-
_process() protected
处理插件
-
_remove() protected
删除文件夹/符号链接。
-
abort() public
使用 StopException 停止当前进程。
-
buildOptionParser() public
获取选项解析器。
-
defaultName() public static
获取命令名称。
-
dispatchEvent() public
创建和分派事件的包装器。
-
displayHelp() protected
输出帮助内容
-
execute() public
执行命令
-
executeCommand() public
使用提供的参数集执行另一个命令。
-
fetchTable() public
获取表实例的便捷方法。
-
getDescription() public static
获取命令描述。
-
getEventManager() public
返回此对象的 Cake\Event\EventManager 管理器实例。
-
getName() public
获取命令名称。
-
getOptionParser() public
获取选项解析器。
-
getRootName() public
获取根命令名称。
-
getTableLocator() public
获取表定位器。
-
initialize() public
在即将执行命令时由 CakePHP 调用的挂钩方法。
-
log() public
将消息写入 Log 的便捷方法。有关写入日志的更多信息,请参见 Log::write()。
-
run() public
运行命令。
-
setEventManager() public
返回此对象的 Cake\Event\EventManagerInterface 实例。
-
setName() public
设置此命令在集合中使用的名称。
-
setOutputLevel() protected
根据参数设置输出级别。
-
setTableLocator() public
设置表定位器。
方法详细说明
_copyDirectory() ¶ protected
_copyDirectory(string $source, string $destination): bool
复制目录
参数
-
string
$source 源目录
-
string
$destination 目标目录
返回值
bool
_createDirectory() ¶ protected
_createDirectory(string $dir): bool
创建目录
参数
-
string
$dir 目录名称
返回值
bool
_createSymlink() ¶ protected
_createSymlink(string $target, string $link): bool
创建符号链接
参数
-
string
$target 目标目录
-
string
$link 链接名称
返回值
bool
_list() ¶ protected
_list(string|null $name = null): array<string, mixed>
获取要处理的插件列表。没有 webroot 目录的插件将被跳过。
参数
-
string|null
$name optional 要为其符号链接资产的插件名称。如果为 null,将处理所有插件。
返回值
array<string, mixed>
_process() ¶ protected
_process(array<string, mixed> $plugins, bool $copy = false, bool $overwrite = false): void
处理插件
参数
-
array<string, mixed>
$plugins 要处理的插件列表
-
bool
$copy optional 强制复制模式。默认值为 false。
-
bool
$overwrite optional 覆盖现有文件。
返回值
void
_remove() ¶ protected
_remove(array<string, mixed> $config): bool
删除文件夹/符号链接。
参数
-
array<string, mixed>
$config 插件配置。
返回值
bool
abort() ¶ public
abort(int $code = self::CODE_ERROR): never
使用 StopException 停止当前进程。
参数
-
int
$code optional 要使用的退出代码。
返回值
never
抛出
Cake\Console\Exception\StopException
buildOptionParser() ¶ public
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() ¶ 受保护
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() ¶ 公共
execute(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): int|null
执行命令
尝试将插件资产符号链接到应用程序的 webroot。如果符号链接失败,它将回退到复制资产。对于供应商命名空间的插件,如果需要,将创建供应商名称的父文件夹。
参数
-
Cake\Console\Arguments
$args 命令参数。
-
Cake\Console\ConsoleIo
$io 控制台 IO
返回值
int|null
executeCommand() ¶ 公共
executeCommand(Cake\Console\CommandInterface|string $command, array $args = [], Cake\Console\ConsoleIo|null $io = null): int|null
使用提供的参数集执行另一个命令。
如果您使用的是字符串命令名称,则该命令的依赖项不会与应用程序容器一起解析。相反,您需要将命令作为包含所有依赖项的对象传递。
参数
-
Cake\Console\CommandInterface|string
$command 命令类名称或命令实例。
-
array
$args 可选 用于调用命令的参数。
-
Cake\Console\ConsoleIo|null
$io 可选 用于执行命令的 ConsoleIo 实例。
返回值
int|null
fetchTable() ¶ 公共
fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table
获取表实例的便捷方法。
参数
-
string|null
$alias 可选 您想要获取的别名。应该使用驼峰式命名法。如果为 `null`,则使用 $defaultTable 属性的值。
-
array<string, mixed>
$options 可选 您要使用这些选项构建表格。如果表格已加载,则注册表选项将被忽略。
返回值
Cake\ORM\Table
抛出
Cake\Core\Exception\CakeException
如果 `$alias` 参数和 `$defaultTable` 属性都为 `null`。
另请参阅
getEventManager() ¶ 公共
getEventManager(): Cake\Event\EventManagerInterface
返回此对象的 Cake\Event\EventManager 管理器实例。
您可以使用此实例将任何新的侦听器或回调注册到对象事件,或者创建您自己的事件并随意触发它们。
返回值
Cake\Event\EventManagerInterface
getOptionParser() ¶ 公共
getOptionParser(): Cake\Console\ConsoleOptionParser
获取选项解析器。
您可以覆盖 buildOptionParser() 来定义您的选项和参数。
返回值
Cake\Console\ConsoleOptionParser
抛出
Cake\Core\Exception\CakeException
当解析器无效时
getTableLocator() ¶ 公共
getTableLocator(): Cake\ORM\Locator\LocatorInterface
获取表定位器。
返回值
Cake\ORM\Locator\LocatorInterface
initialize() ¶ 公共
initialize(): void
在即将执行命令时由 CakePHP 调用的挂钩方法。
覆盖此方法并实现不应该在每次命令运行时运行的昂贵/重要的设置步骤。此方法将在验证和处理选项和参数之前调用。
返回值
void
log() ¶ 公共
log(Stringable|string $message, string|int $level = LogLevel::ERROR, array|string $context = []): bool
将消息写入 Log 的便捷方法。有关写入日志的更多信息,请参见 Log::write()。
参数
-
Stringable|string
$message 日志消息。
-
string|int
$level 可选 错误级别。
-
array|string
$context 可选 与此消息相关的其他日志数据。
返回值
bool
run() ¶ 公共
run(array $argv, Cake\Console\ConsoleIo $io): int|null
运行命令。
参数
-
array
$argv -
Cake\Console\ConsoleIo
$io
返回值
int|null
setEventManager() ¶ 公共
setEventManager(Cake\Event\EventManagerInterface $eventManager): $this
返回此对象的 Cake\Event\EventManagerInterface 实例。
您可以使用此实例将任何新的侦听器或回调注册到对象事件,或者创建您自己的事件并随意触发它们。
参数
-
Cake\Event\EventManagerInterface
$eventManager 要设置的 eventManager
返回值
$this
setName() ¶ 公共
setName(string $name): $this
设置此命令在集合中使用的名称。
通常由 CommandCollection 在添加命令时调用。要求名称中至少有一个空格,以便可以计算根命令。
参数
-
string
$name
返回值
$this
setOutputLevel() ¶ 受保护
setOutputLevel(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
根据参数设置输出级别。
参数
-
Cake\Console\Arguments
$args 命令参数。
-
Cake\Console\ConsoleIo
$io 控制台 IO
返回值
void
setTableLocator() ¶ 公共
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this
设置表定位器。
参数
-
Cake\ORM\Locator\LocatorInterface
$tableLocator LocatorInterface 实例。
返回值
$this
属性详细信息
$_eventManager ¶ 受保护
Cake\Event\EventManager 的实例,该对象用于分派内部事件。
类型
Cake\Event\EventManagerInterface|null