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 or not autoLayout should be enabled.
string|null
The view class name to use.
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
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
View vars
Gets the name of the view file to render. The name specified is the filename in templates/<SubFolder>/
without the .php extension.
Returns if CakePHP's conventional mode of applying layout files is enabled.
Serializes the view builder object to a value that can be natively serialized and re-used to clone this builder instance.
Sets the name of the view file to render. The name specified is the filename in templates/<SubFolder>/
without the .php extension.
_checkViewVars(mixed $item, string $key)
Iterates through hash to clean up and normalize.
mixed
$item Reference to the view var value.
string
$key View var key.
RuntimeException
addHelper(string $helper)
Adds a helper to use.
string
$helper Helper to use.
$this
build(array $vars, ?\Cake\Http\ServerRequest $request, ?\Cake\Http\Response $response, ?\Cake\Event\EventManagerInterface $events)
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 Cake\View\View will be used.
array
$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 $config)
Configures a view builder instance from serialized config.
array
$config View builder configuration array.
$this
Configured view builder instance.
disableAutoLayout()
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)
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()
Gets the view classname.
string|null
getHelpers()
Gets the helpers to use.
array
getLayout()
Gets the name of the layout file to render the view inside of.
string|null
getLayoutPath()
Gets path for layout files.
string|null
getName()
Gets the view name.
string|null
getOption(string $name)
Get view option.
string
$name The name of the option.
mixed
getOptions()
Gets additional options for the view.
array
getPlugin()
Gets the plugin name to use.
string|null
getTemplate()
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()
Gets path for template files.
string|null
getTheme()
Gets the view theme to use.
string|null
getVar(string $name)
Get view var
string
$name Var name
mixed
The var value or null if unset.
getVars()
Get all view vars.
array
hasVar(string $name)
Check if view var is set.
string
$name Var name
bool
isAutoLayoutEnabled()
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()
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
Serializable array of configuration properties.
serialize()
Serializes the view builder object.
string
setClassName(?string $name)
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)
Sets the helpers to use.
array
$helpers Helpers to use.
bool
$merge optional Whether or not to merge existing data with the new data.
$this
setLayout(?string $name)
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 $path)
Sets path for layout files.
string|null
$path Path for layout files.
$this
setName(?string $name)
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)
Set view option.
string
$name The name of the option.
mixed
$value Value to set.
$this
setOptions(array $options, bool $merge)
Sets additional options for the view.
This lets you provide custom constructor arguments to application/plugin view classes.
array
$options An array of options.
bool
$merge optional Whether or not to merge existing data with the new data.
$this
setPlugin(?string $name)
Sets the plugin name to use.
string|null
$name Plugin name. Use null to remove the current plugin name.
$this
setTemplate(?string $name)
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 $path)
Sets path for template files.
string|null
$path Path for view files.
$this
setTheme(?string $theme)
Sets the view theme to use.
string|null
$theme Theme name. Use null to remove the current theme.
$this
setVar(string $name, mixed $value)
Saves a variable for use inside a template.
string
$name A string or an array of data.
mixed
$value optional Value.
$this
setVars(array $data, bool $merge)
Saves view vars for use inside templates.
array
$data Array of data.
bool
$merge optional Whether to merge with existing vars, default true.
$this
unserialize(mixed $data)
Unserializes the view builder object.
string
$data Serialized string.
Whether or not 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.
This options array lets you provide custom constructor arguments to application/plugin view classes.
array
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
© 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.1/class-Cake.View.ViewBuilder.html