类 ViewBlock
ViewBlock 在视图层实现了块或插槽的概念。 插槽或块与扩展视图和布局结合使用,以提供在布局或父视图中存在的、但由子视图或视图中使用的元素定义的内容插槽。
属性摘要
-
$_active protected
array<string, string>
正在捕获的活动块。
-
$_blocks protected
array<string, string>
块内容。 一个按名称索引的块数组。
-
$_discardActiveBufferOnEnd protected
布尔值
在 ViewBlock::end() 时是否应丢弃当前捕获的内容。
方法摘要
-
active() public
获取当前打开的块的名称。
-
concat() public
将内容连接到现有块或新块。 连接到新块将创建该块。
-
end() public
结束捕获块。 ViewBlock::start() 的补充
-
exists() public
检查块是否存在
-
get() public
获取块的内容。
-
keys() public
获取所有现有块的名称。
-
set() public
设置块的内容。 这将覆盖任何现有内容。
-
start() public
开始捕获“块”的输出
-
unclosed() public
获取未关闭的/活动的块。 键是名称,值是模式。
方法详情
concat() ¶ public
concat(string $name, mixed $value = null, string $mode = ViewBlock::APPEND): void
将内容连接到现有块或新块。 连接到新块将创建该块。
在没有值的情况下调用 concat() 将创建一个新的捕获块,需要使用 View::end() 完成。 新捕获上下文的内容将被添加到现有块上下文。
参数
-
string
$name 块的名称
-
mixed
$value optional 块的内容。 值将被类型强制转换为字符串。
-
string
$mode optional 如果 ViewBlock::APPEND 内容将被追加到现有内容。 如果 ViewBlock::PREPEND,它将被前置。
返回
void
get() ¶ public
get(string $name, string $default = ''): string
获取块的内容。
参数
-
string
$name 块的名称
-
string
$default optional 默认字符串
返回
字符串
set() ¶ public
set(string $name, mixed $value): void
设置块的内容。 这将覆盖任何现有内容。
参数
-
string
$name 块的名称
-
mixed
$value 块的内容。 值将被类型强制转换为字符串。
返回
void
start() ¶ public
start(string $name, string $mode = ViewBlock::OVERRIDE): void
开始捕获“块”的输出
块允许您在布局中创建动态内容的插槽或块。 视图文件可以实现布局的某些或所有插槽。
您可以使用 View::end() 结束捕获块。 块可以使用 View::get(); 输出。
参数
-
string
$name 要捕获的块的名称。
-
string
$mode optional 如果 ViewBlock::OVERRIDE 现有内容将被新内容覆盖。 如果 ViewBlock::APPEND 内容将被追加到现有内容。 如果 ViewBlock::PREPEND,它将被前置。
返回
void
抛出
Cake\Core\Exception\CakeException
当两次启动一个块时
unclosed() ¶ public
unclosed(): array<string, string>
获取未关闭的/活动的块。 键是名称,值是模式。
返回
array<string, string>