Class ViewBlock
ViewBlock implements the concept of Blocks or Slots in the View layer. Slots or blocks are combined with extending views and layouts to afford slots of content that are present in a layout or parent view, but are defined by the child view or elements used in the view.
Constants
Property Summary
-
$_active protected
array<string, string>
The active blocks being captured.
-
$_blocks protected
array<string, string>
Block content. An array of blocks indexed by name.
-
$_discardActiveBufferOnEnd protected
bool
Should the currently captured content be discarded on ViewBlock::end()
Method Summary
-
active() public
Get the name of the currently open block.
-
concat() public
Concat content to an existing or new block. Concating to a new block will create the block.
-
end() public
End a capturing block. The compliment to ViewBlock::start()
-
exists() public
Check if a block exists
-
get() public
Get the content for a block.
-
keys() public
Get the names of all the existing blocks.
-
set() public
Set the content for a block. This will overwrite any existing content.
-
start() public
Start capturing output for a 'block'
-
unclosed() public
Get the unclosed/active blocks. Key is name, value is mode.
Method Detail
active() ¶ public
active(): string|null
Get the name of the currently open block.
Returns
string|null
concat() ¶ public
concat(string $name, mixed $value = null, string $mode = ViewBlock::APPEND): void
Concat content to an existing or new block. Concating to a new block will create the block.
Calling concat() without a value will create a new capturing block that needs to be finished with View::end(). The content of the new capturing context will be added to the existing block context.
Parameters
-
string
$name Name of the block
-
mixed
$value optional The content for the block. Value will be type cast to string.
-
string
$mode optional If ViewBlock::APPEND content will be appended to existing content. If ViewBlock::PREPEND it will be prepended.
Returns
void
end() ¶ public
end(): void
End a capturing block. The compliment to ViewBlock::start()
Returns
void
See Also
exists() ¶ public
exists(string $name): bool
Check if a block exists
Parameters
-
string
$name Name of the block
Returns
bool
get() ¶ public
get(string $name, string $default = ''): string
Get the content for a block.
Parameters
-
string
$name Name of the block
-
string
$default optional Default string
Returns
string
set() ¶ public
set(string $name, mixed $value): void
Set the content for a block. This will overwrite any existing content.
Parameters
-
string
$name Name of the block
-
mixed
$value The content for the block. Value will be type cast to string.
Returns
void
start() ¶ public
start(string $name, string $mode = ViewBlock::OVERRIDE): void
Start capturing output for a 'block'
Blocks allow you to create slots or blocks of dynamic content in the layout. view files can implement some or all of a layout's slots.
You can end capturing blocks using View::end(). Blocks can be output using View::get();
Parameters
-
string
$name The name of the block to capture for.
-
string
$mode optional If ViewBlock::OVERRIDE existing content will be overridden by new content. If ViewBlock::APPEND content will be appended to existing content. If ViewBlock::PREPEND it will be prepended.
Returns
void
Throws
Cake\Core\Exception\CakeException
When starting a block twice
unclosed() ¶ public
unclosed(): array<string, string>
Get the unclosed/active blocks. Key is name, value is mode.
Returns
array<string, string>
Property Detail
$_discardActiveBufferOnEnd ¶ protected
Should the currently captured content be discarded on ViewBlock::end()
Type
bool