Provides an API for iteratively building a view up.
Once you have configured the view and established all the context you can create a view instance with build()
.
bool
Whether autoLayout should be enabled.
string|null
The view class name to use. Can either use plugin notation, a short name or a fully namespaced classname.
array
The helpers to use
string|null
The layout name to render.
string|null
The layout path to build the view with.
string|null
The view variables to use
array<string, mixed>
Additional options used when constructing the view.
string|null
The plugin name to use.
string|null
The template file to render.
string|null
The subdirectory to the template.
string|null
The theme name to use.
array<string, mixed>
View vars
Magic method used for serializing the view builder object.
Magic method used to rebuild the view builder object.
Iterates through hash to clean up and normalize.
Adds a helper to use.
Adds helpers to use by merging with existing ones.
Using the data in the builder, create a view instance.
Configures a view builder instance from serialized config.
Turns off CakePHP's conventional mode of applying layout files.
Turns on or off CakePHP's conventional mode of applying layout files. On by default. Setting to off means that layouts will not be automatically applied to rendered views.
Gets the view classname.
Gets the helpers to use.
Gets the name of the layout file to render the view inside of.
Gets path for layout files.
Gets the view name.
Get view option.
Gets additional options for the view.
Gets the plugin name to use.
Gets the name of the view file to render. The name specified is the filename in templates/<SubFolder>/
without the .php extension.
Gets path for template files.
Gets the view theme to use.
Get view var
Get all view vars.
Check if view var is set.
Returns if CakePHP's conventional mode of applying layout files is enabled. Disabled means that layouts will not be automatically applied to rendered views.
Serializes the view builder object to a value that can be natively serialized and re-used to clone this builder instance.
Serializes the view builder object.
Sets the view classname.
Sets the helpers to use.
Sets the name of the layout file to render the view inside of. The name specified is the filename of the layout in templates/layout/
without the .php extension.
Sets path for layout files.
Sets the view name.
Set view option.
Sets additional options for the view.
Sets the plugin name to use.
Sets the name of the view file to render. The name specified is the filename in templates/<SubFolder>/
without the .php extension.
Sets path for template files.
Sets the view theme to use.
Saves a variable for use inside a template.
Saves view vars for use inside templates.
Unserializes the view builder object.
__serialize(): array
Magic method used for serializing the view builder object.
array
__unserialize(array<string, mixed> $data): void
Magic method used to rebuild the view builder object.
array<string, mixed>
$data Data array.
void
_checkViewVars(mixed $item, string $key): void
Iterates through hash to clean up and normalize.
mixed
$item Reference to the view var value.
string
$key View var key.
void
RuntimeException
addHelper(string $helper, array<string, mixed> $options = []): $this
Adds a helper to use.
string
$helper Helper to use.
array<string, mixed>
$options optional Options.
$this
addHelpers(array $helpers): $this
Adds helpers to use by merging with existing ones.
array
$helpers Helpers to use.
$this
build(array<string, mixed> $vars = [], Cake\Http\ServerRequest|null $request = null, Cake\Http\Response|null $response = null, Cake\Event\EventManagerInterface|null $events = null): Cake\View\View
Using the data in the builder, create a view instance.
If className() is null, App\View\AppView will be used. If that class does not exist, then {@link \Cake\View\View} will be used.
array<string, mixed>
$vars optional The view variables/context to use.
Cake\Http\ServerRequest|null
$request optional The request to use.
Cake\Http\Response|null
$response optional The response to use.
Cake\Event\EventManagerInterface|null
$events optional The event manager to use.
Cake\View\View
Cake\View\Exception\MissingViewException
createFromArray(array<string, mixed> $config): $this
Configures a view builder instance from serialized config.
array<string, mixed>
$config View builder configuration array.
$this
disableAutoLayout(): $this
Turns off CakePHP's conventional mode of applying layout files.
Setting to off means that layouts will not be automatically applied to rendered views.
$this
enableAutoLayout(bool $enable = true): $this
Turns on or off CakePHP's conventional mode of applying layout files. On by default. Setting to off means that layouts will not be automatically applied to rendered views.
bool
$enable optional Boolean to turn on/off.
$this
getClassName(): string|null
Gets the view classname.
string|null
getHelpers(): array
Gets the helpers to use.
array
getLayout(): string|null
Gets the name of the layout file to render the view inside of.
string|null
getLayoutPath(): string|null
Gets path for layout files.
string|null
getName(): string|null
Gets the view name.
string|null
getOption(string $name): mixed
Get view option.
string
$name The name of the option.
mixed
getOptions(): array<string, mixed>
Gets additional options for the view.
array<string, mixed>
getPlugin(): string|null
Gets the plugin name to use.
string|null
getTemplate(): string|null
Gets the name of the view file to render. The name specified is the filename in templates/<SubFolder>/
without the .php extension.
string|null
getTemplatePath(): string|null
Gets path for template files.
string|null
getTheme(): string|null
Gets the view theme to use.
string|null
getVar(string $name): mixed
Get view var
string
$name Var name
mixed
getVars(): array<string, mixed>
Get all view vars.
array<string, mixed>
hasVar(string $name): bool
Check if view var is set.
string
$name Var name
bool
isAutoLayoutEnabled(): bool
Returns if CakePHP's conventional mode of applying layout files is enabled. Disabled means that layouts will not be automatically applied to rendered views.
bool
jsonSerialize(): array
Serializes the view builder object to a value that can be natively serialized and re-used to clone this builder instance.
There are limitations for viewVars that are good to know:
array
serialize(): string
Serializes the view builder object.
string
setClassName(string|null $name): $this
Sets the view classname.
Accepts either a short name (Ajax) a plugin name (MyPlugin.Ajax) or a fully namespaced name (App\View\AppView) or null to use the View class provided by CakePHP.
string|null
$name The class name for the view.
$this
setHelpers(array $helpers, bool $merge = true): $this
Sets the helpers to use.
array
$helpers Helpers to use.
bool
$merge optional Whether to merge existing data with the new data.
$this
setLayout(string|null $name): $this
Sets the name of the layout file to render the view inside of. The name specified is the filename of the layout in templates/layout/
without the .php extension.
string|null
$name Layout file name to set.
$this
setLayoutPath(string|null $path): $this
Sets path for layout files.
string|null
$path Path for layout files.
$this
setName(string|null $name): $this
Sets the view name.
string|null
$name The name of the view, or null to remove the current name.
$this
setOption(string $name, mixed $value): $this
Set view option.
string
$name The name of the option.
mixed
$value Value to set.
$this
setOptions(array<string, mixed> $options, bool $merge = true): $this
Sets additional options for the view.
This lets you provide custom constructor arguments to application/plugin view classes.
array<string, mixed>
$options An array of options.
bool
$merge optional Whether to merge existing data with the new data.
$this
setPlugin(string|null $name): $this
Sets the plugin name to use.
string|null
$name Plugin name. Use null to remove the current plugin name.
$this
setTemplate(string|null $name): $this
Sets the name of the view file to render. The name specified is the filename in templates/<SubFolder>/
without the .php extension.
string|null
$name View file name to set, or null to remove the template name.
$this
setTemplatePath(string|null $path): $this
Sets path for template files.
string|null
$path Path for view files.
$this
setTheme(string|null $theme): $this
Sets the view theme to use.
string|null
$theme Theme name. Use null to remove the current theme.
$this
setVar(string $name, mixed $value = null): $this
Saves a variable for use inside a template.
string
$name A string or an array of data.
mixed
$value optional Value.
$this
setVars(array<string, mixed> $data, bool $merge = true): $this
Saves view vars for use inside templates.
array<string, mixed>
$data Array of data.
bool
$merge optional Whether to merge with existing vars, default true.
$this
unserialize(string $data): void
Unserializes the view builder object.
string
$data Serialized string.
void
Whether autoLayout should be enabled.
bool
The view class name to use. Can either use plugin notation, a short name or a fully namespaced classname.
string|null
The helpers to use
array
The layout name to render.
string|null
The layout path to build the view with.
string|null
The view variables to use
string|null
Additional options used when constructing the view.
These options array lets you provide custom constructor arguments to application/plugin view classes.
array<string, mixed>
The plugin name to use.
string|null
The template file to render.
string|null
The subdirectory to the template.
string|null
The theme name to use.
string|null
View vars
array<string, mixed>
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.View.ViewBuilder.html