Class ViewBuilder
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()
.
- Cake\View\ViewBuilder implements JsonSerializable, Serializable
Properties summary
-
$_autoLayout
protectedboolean|null
Whether or not autoLayout should be enabled. -
$_className
protectedstring|null
The view class name to use. Can either use plugin notation, a short name or a fully namespaced classname.
-
$_helpers
protectedarray
The helpers to use -
$_layout
protectedstring|null|false
The layout name to render. -
$_layoutPath
protectedstring|null
The layout path to build the view with. -
$_name
protectedstring|null
The view variables to use -
$_options
protectedarray
Additional options used when constructing the view. -
$_plugin
protectedstring|null|false
The plugin name to use. -
$_template
protectedstring|null
The template file to render. -
$_templatePath
protectedstring|null
The subdirectory to the template. -
$_theme
protectedstring|null|false
The theme name to use. -
$_vars
protectedarray
View vars
Method Summary
-
autoLayout() public
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.
-
build() public
Using the data in the builder, create a view instance. -
className() public
Get/set the view classname. -
createFromArray() public
Configures a view builder instance from serialized config. -
disableAutoLayout() public
Turns off CakePHP's conventional mode of applying layout files. -
enableAutoLayout() public
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.
-
getClassName() public
Gets the view classname. -
getHelpers() public
Gets the helpers to use. -
getLayout() public
Gets the name of the layout file to render the view inside of. -
getLayoutPath() public
Gets path for layout files. -
getName() public
Gets the view name. -
getOptions() public
Gets additional options for the view. -
getPlugin() public
Gets the plugin name to use. -
getTemplate() public
Gets the name of the view file to render. The name specified is the filename in /src/Template/
without the .ctp extension. -
getTemplatePath() public
Gets path for template files. -
getTheme() public
Gets the view theme to use. -
getVar() public
Get view var -
getVars() public
Get all view vars. -
hasVar() public
Check if view var is set. -
helpers() public
The helpers to use -
isAutoLayoutEnabled() public
Returns if CakePHP's conventional mode of applying layout files is enabled. Disabled means that layouts will not be automatically applied to rendered views.
-
jsonSerialize() public
Serializes the view builder object to a value that can be natively serialized and re-used to clone this builder instance.
-
layout() public
Get/set the name of the layout file to render the view inside of. The name specified is the filename of the layout in /src/Template/Layout without the .ctp extension.
-
layoutPath() public
Get/set path for layout files. -
name() public
Get/set the view name -
options() public
Set additional options for the view. -
plugin() public
The plugin name to use -
serialize() public
Serializes the view builder object. -
setClassName() public
Sets the view classname. -
setHelpers() public
Sets the helpers to use. -
setLayout() public
Sets the name of the layout file to render the view inside of. The name specified is the filename of the layout in /src/Template/Layout without the .ctp extension.
-
setLayoutPath() public
Sets path for layout files. -
setName() public
Sets the view name. -
setOptions() public
Sets additional options for the view. -
setPlugin() public
Sets the plugin name to use. -
setTemplate() public
Sets the name of the view file to render. The name specified is the filename in /src/Template/
without the .ctp extension. -
setTemplatePath() public
Sets path for template files. -
setTheme() public
Sets the view theme to use. -
setVar() public
Saves a variable for use inside a template. -
setVars() public
Saves view vars for use inside templates. -
template() public
Get/set the name of the view file to render. The name specified is the filename in /src/Template/
without the .ctp extension. -
templatePath() public
Get/set path for template files. -
theme() public
The view theme to use. -
unserialize() public
Unserializes the view builder object.
Method Detail
autoLayout() public ¶
autoLayout( boolean|null $enable null )
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.
Deprecated
Parameters
- boolean|null $enable optional null
- Boolean to turn on/off. If null returns current value.
Returns
build() public ¶
build( array $vars [] , Cake\Http\ServerRequest
$request null , Cake\Http\Response
$response null , Cake\Event\EventManager
$events null )
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.
Parameters
- array $vars optional []
- The view variables/context to use.
-
Cake\Http\ServerRequest
$request optional null - The request to use.
-
Cake\Http\Response
$response optional null - The response to use.
-
Cake\Event\EventManager
$events optional null - The event manager to use.
Returns
Throws
className() public ¶
className( string|null $name null )
Get/set the view classname.
Accepts either a short name (Ajax) a plugin name (MyPlugin.Ajax) or a fully namespaced name (App\View\AppView).
Deprecated
Parameters
- string|null $name optional null
The class name for the view. Can be a plugin.class name reference, a short alias, or a fully namespaced name.
Returns
createFromArray() public ¶
createFromArray( array $config )
Configures a view builder instance from serialized config.
Parameters
- array $config
- View builder configuration array.
Returns
$this Configured view builder instance.
disableAutoLayout() public ¶
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.
Returns
$this
enableAutoLayout() public ¶
enableAutoLayout( boolean $enable true )
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.
Parameters
- boolean $enable optional true
- Boolean to turn on/off.
Returns
$this
getLayout() public ¶
getLayout( )
Gets the name of the layout file to render the view inside of.
Returns
getTemplate() public ¶
getTemplate( )
Gets the name of the view file to render. The name specified is the
filename in /src/Template/
Returns
getVar() public ¶
getVar( string $name )
Get view var
Parameters
- string $name
- Var name
Returns
The var value or null if unset.
hasVar() public ¶
hasVar( string $name )
Check if view var is set.
Parameters
- string $name
- Var name
Returns
helpers() public ¶
helpers( array $helpers null , boolean $merge true )
The helpers to use
Deprecated
Parameters
- array $helpers optional null
- Helpers to use.
- boolean $merge optional true
- Whether or not to merge existing data with the new data.
Returns
isAutoLayoutEnabled() public ¶
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.
Returns
jsonSerialize() public ¶
jsonSerialize( )
Serializes the view builder object to a value that can be natively serialized and re-used to clone this builder instance.
Returns
Serializable array of configuration properties.
Implementation of
JsonSerializable::jsonSerialize()
layout() public ¶
layout( string|null $name null )
Get/set the name of the layout file to render the view inside of. The name specified is the filename of the layout in /src/Template/Layout without the .ctp extension.
Deprecated
Parameters
- string|null $name optional null
- Layout file name to set. If null returns current name.
Returns
layoutPath() public ¶
layoutPath( string|null $path null )
Get/set path for layout files.
Deprecated
Parameters
- string|null $path optional null
- Path for layout files. If null returns current path.
Returns
name() public ¶
name( string|null $name null )
Get/set the view name
Deprecated
Parameters
- string|null $name optional null
- The name of the view
Returns
options() public ¶
options( array $options null , boolean $merge true )
Set additional options for the view.
This lets you provide custom constructor arguments to application/plugin view classes.
Deprecated
Parameters
- array $options optional null
- Either an array of options or null to get current options.
- boolean $merge optional true
- Whether or not to merge existing data with the new data.
Returns
plugin() public ¶
plugin( string|null|false $name null )
The plugin name to use
Deprecated
Parameters
- string|null|false $name optional null
Plugin name. If null returns current plugin. Use false to remove the current plugin name.
Returns
serialize() public ¶
serialize( )
Serializes the view builder object.
Returns
Implementation of
Serializable::serialize()
setClassName() public ¶
setClassName( string|null $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.
Parameters
- string|null $name
- The class name for the view.
Returns
$this
setHelpers() public ¶
setHelpers( array $helpers , boolean $merge true )
Sets the helpers to use.
Parameters
- array $helpers
- Helpers to use.
- boolean $merge optional true
- Whether or not to merge existing data with the new data.
Returns
$this
setLayout() public ¶
setLayout( string|null|false $name )
Sets the name of the layout file to render the view inside of. The name specified is the filename of the layout in /src/Template/Layout without the .ctp extension.
Parameters
- string|null|false $name
- Layout file name to set.
Returns
$this
setLayoutPath() public ¶
setLayoutPath( string|null $path )
Sets path for layout files.
Parameters
- string|null $path
- Path for layout files.
Returns
$this
setName() public ¶
setName( string|null $name )
Sets the view name.
Parameters
- string|null $name
- The name of the view.
Returns
$this
setOptions() public ¶
setOptions( array $options , boolean $merge true )
Sets additional options for the view.
This lets you provide custom constructor arguments to application/plugin view classes.
Parameters
- array $options
- An array of options.
- boolean $merge optional true
- Whether or not to merge existing data with the new data.
Returns
$this
setPlugin() public ¶
setPlugin( string|null|false $name )
Sets the plugin name to use.
False
to remove current plugin name is deprecated as of 3.4.0. Use directly null
instead.
Parameters
- string|null|false $name
Plugin name. Use null or false to remove the current plugin name.
Returns
$this
setTemplate() public ¶
setTemplate( string|null $name )
Sets the name of the view file to render. The name specified is the
filename in /src/Template/
Parameters
- string|null $name
- View file name to set.
Returns
$this
setTemplatePath() public ¶
setTemplatePath( string|null $path )
Sets path for template files.
Parameters
- string|null $path
- Path for view files.
Returns
$this
setTheme() public ¶
setTheme( string|null|false $theme )
Sets the view theme to use.
False
to remove current theme is deprecated as of 3.4.0. Use directly null
instead.
Parameters
- string|null|false $theme
Theme name. Use null or false to remove the current theme.
Returns
$this
setVar() public ¶
setVar( string $name , mixed $value null )
Saves a variable for use inside a template.
Parameters
- string $name
- A string or an array of data.
- mixed $value optional null
- Value.
Returns
$this
setVars() public ¶
setVars( array $data , boolean $merge true )
Saves view vars for use inside templates.
Parameters
- array $data
- Array of data.
- boolean $merge optional true
- Whether to merge with existing vars, default true.
Returns
$this
template() public ¶
template( string|null $name null )
Get/set the name of the view file to render. The name specified is the
filename in /src/Template/
Deprecated
Parameters
- string|null $name optional null
- View file name to set. If null returns current name.
Returns
templatePath() public ¶
templatePath( string|null $path null )
Get/set path for template files.
Deprecated
Parameters
- string|null $path optional null
- Path for view files. If null returns current path.
Returns
theme() public ¶
theme( string|null|false $theme null )
The view theme to use.
Deprecated
Parameters
- string|null|false $theme optional null
Theme name. If null returns current theme. Use false to remove the current theme.
Returns
unserialize() public ¶
unserialize( string $data )
Unserializes the view builder object.
Parameters
- string $data
- Serialized string.
Returns
$this Configured view builder instance.
Implementation of
Serializable::unserialize()
Properties detail
$_className ¶
The view class name to use. Can either use plugin notation, a short name or a fully namespaced classname.