类助手
所有 CakePHP 中其他助手的抽象基类。提供通用方法和功能。
回调方法
助手支持许多回调方法。这些回调允许您挂钩到各种视图生命周期事件,并修改现有的视图内容或执行其他特定于应用程序的逻辑。这些事件不是由这个基类实现的,因为实现回调方法会将助手订阅到相关的事件。回调方法如下
beforeRender(EventInterface $event, $viewFile)
- beforeRender 在渲染视图文件之前调用。afterRender(EventInterface $event, $viewFile)
- afterRender 在渲染视图文件之后但布局渲染之前调用。- beforeLayout(EventInterface $event, $layoutFile)` - beforeLayout 在渲染布局之前调用。
afterLayout(EventInterface $event, $layoutFile)
- afterLayout 在渲染布局之后调用。beforeRenderFile(EventInterface $event, $viewFile)
- 在渲染任何视图片段之前调用。afterRenderFile(EventInterface $event, $viewFile, $content)
- 在渲染任何视图片段之后调用。如果侦听器返回非空值,则渲染文件的输出将设置为该值。
属性概要
-
$_View protected
Cake\View\View
此助手附加到的视图实例
-
$_config protected
array<string, mixed>
运行时配置
-
$_configInitialized protected
bool
配置属性是否已使用默认值配置
-
$_defaultConfig protected
array<string, mixed>
此助手的默认配置。
-
$helperInstances protected
array<string,Cake\View\Helper>
已加载的助手实例。
-
$helpers protected
array
此助手使用的助手列表
方法概要
-
__construct() public
默认构造函数
-
__debugInfo() public
返回一个数组,可用于描述此对象的内部状态。
-
__get() public
延迟加载助手。
-
_configDelete() protected
删除单个配置键。
-
_configRead() protected
读取配置键。
-
_configWrite() protected
写入配置键。
-
_confirm() protected
返回一个字符串,用作确认对话框的 onclick 处理程序。
-
addClass() public
将给定的类添加到元素选项中
-
configShallow() public
将提供的配置与现有配置合并。与
config()
递归合并嵌套键不同,此方法执行简单合并。 -
getConfig() public
返回配置。
-
getConfigOrFail() public
返回此特定键的配置。
-
getView() public
获取此助手绑定的视图实例。
-
implementedEvents() public
获取此助手感兴趣的视图回调。
-
initialize() public
构造函数钩子方法。
-
setConfig() public
设置配置。
方法详情
__construct() ¶ public
__construct(Cake\View\View $view, array<string, mixed> $config = [])
默认构造函数
参数
-
Cake\View\View
$view 此助手正在附加到的视图。
-
array<string, mixed>
$config optional 助手的配置设置。
__debugInfo() ¶ public
__debugInfo(): array<string, mixed>
返回一个数组,可用于描述此对象的内部状态。
返回
array<string, mixed>
__get() ¶ public
__get(string $name): Cake\View\Helper|null
延迟加载助手。
参数
-
string
$name 正在访问的属性的名称。
返回
Cake\View\Helper|null
_configDelete() ¶ protected
_configDelete(string $key): void
删除单个配置键。
参数
-
string
$key 要删除的键。
返回
void
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有配置
_configRead() ¶ protected
_configRead(string|null $key): mixed
读取配置键。
参数
-
string|null
$key 要读取的键。
返回
mixed
_configWrite() ¶ protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
写入配置键。
参数
-
array<string, mixed>|string
$key 要写入的键。
-
mixed
$value 要写入的值。
-
string|bool
$merge optional True 表示递归合并,'shallow' 表示简单合并,false 表示覆盖,默认值为 false。
返回
void
抛出
Cake\Core\Exception\CakeException
如果尝试覆盖现有配置
_confirm() ¶ protected
_confirm(string $okCode, string $cancelCode): string
返回一个字符串,用作确认对话框的 onclick 处理程序。
参数
-
string
$okCode 用户选择“确定”后要执行的代码
-
string
$cancelCode 用户选择“取消”后要执行的代码
返回
string
addClass() ¶ public
addClass(array<string, mixed> $options, string $class, string $key = 'class'): array<string, mixed>
将给定的类添加到元素选项中
参数
-
array<string, mixed>
$options 要添加类的数组选项/属性
-
string
$class 正在添加的类名。
-
string
$key optional 用于类的键。默认为
'class'
。
返回
array<string, mixed>
configShallow() ¶ public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
将提供的配置与现有配置合并。与config()
递归合并嵌套键不同,此方法执行简单合并。
设置特定值
$this->configShallow('key', $value);
设置嵌套值
$this->configShallow('some.nested.key', $value);
同时更新多个配置设置
$this->configShallow(['one' => 'value', 'another' => 'value']);
参数
-
array<string, mixed>|string
$key 要设置的键,或完整的配置数组。
-
mixed|null
$value optional 要设置的值。
返回
$this
getConfig() ¶ public
getConfig(string|null $key = null, mixed $default = null): mixed
返回配置。
用法
读取整个配置
$this->getConfig();
读取特定值
$this->getConfig('key');
读取嵌套值
$this->getConfig('some.nested.key');
使用默认值读取
$this->getConfig('some-key', 'default-value');
参数
-
string|null
$key optional 要获取的键,或整个配置的 null。
-
mixed
$default optional 键不存在时的返回值。
返回
mixed
getConfigOrFail() ¶ public
getConfigOrFail(string $key): mixed
返回此特定键的配置。
此键的配置值必须存在,不能为 null。
参数
-
string
$key 要获取的键。
返回
mixed
抛出
InvalidArgumentException
implementedEvents() ¶ public
implementedEvents(): array<string, mixed>
获取此助手感兴趣的视图回调。
通过定义其中一个回调方法,助手被假定对相关事件感兴趣。
如果您需要添加非传统的事件监听器,或者您希望助手监听非标准事件,请覆盖此方法。
返回
array<string, mixed>
initialize() ¶ public
initialize(array<string, mixed> $config): void
构造函数钩子方法。
实现此方法以避免覆盖构造函数并调用父类。
参数
-
array<string, mixed>
$config 提供给此助手的配置设置。
返回
void
setConfig() ¶ public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
设置配置。
用法
设置特定值
$this->setConfig('key', $value);
设置嵌套值
$this->setConfig('some.nested.key', $value);
同时更新多个配置设置
$this->setConfig(['one' => 'value', 'another' => 'value']);
参数
-
array<string, mixed>|string
$key 要设置的键,或完整的配置数组。
-
mixed|null
$value optional 要设置的值。
-
bool
$merge optional 是否递归合并或覆盖现有配置,默认为 true。
返回
$this
抛出
Cake\Core\Exception\CakeException
当尝试设置无效的键时。