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
protectedWhether or not autoLayout should be enabled.boolean|null
-
$_className
protectedstring|null
The view class name to use. Can either use plugin notation, a short name or a fully namespaced classname.
-
$_helpers
protectedThe helpers to usearray
-
$_layout
protectedThe layout name to render.string|null|false
-
$_layoutPath
protectedThe layout path to build the view with.string|null
-
$_name
protectedThe view variables to usestring|null
-
$_options
protectedAdditional options used when constructing the view.array
-
$_plugin
protectedThe plugin name to use.string|null|false
-
$_template
protectedThe template file to render.string|null
-
$_templatePath
protectedThe subdirectory to the template.string|null
-
$_theme
protectedThe theme name to use.string|null|false
-
$_vars
protectedView varsarray
Method Summary
-
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() publicUsing the data in the builder, create a view instance.
- Get/set the view classname.
- createFromArray() publicConfigures a view builder instance from serialized config.
- disableAutoLayout() publicTurns 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() publicGets the view classname.
- getHelpers() publicGets the helpers to use.
- getLayout() publicGets the name of the layout file to render the view inside of.
- getLayoutPath() publicGets path for layout files.
- getName() publicGets the view name.
- getOptions() publicGets additional options for the view.
- getPlugin() publicGets 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() publicGets path for template files.
- getTheme() publicGets the view theme to use.
- getVar() publicGet view var
- getVars() publicGet all view vars.
- hasVar() publicCheck if view var is set.
- 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.
-
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.
- Get/set path for layout files.
- Get/set the view name
- Set additional options for the view.
- The plugin name to use
- serialize() publicSerializes the view builder object.
- setClassName() publicSets the view classname.
- setHelpers() publicSets 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() publicSets path for layout files.
- setName() publicSets the view name.
- setOptions() publicSets additional options for the view.
- setPlugin() publicSets 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() publicSets path for template files.
- setTheme() publicSets the view theme to use.
- setVar() publicSaves a variable for use inside a template.
- setVars() publicSaves view vars for use inside templates.
-
Get/set the name of the view file to render. The name specified is the filename in /src/Template/
without the .ctp extension. - Get/set path for template files.
- The view theme to use.
- unserialize() publicUnserializes the view builder object.
Method Detail
autoLayout()source public deprecated
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
3.4.0 Use enableAutoLayout()/isAutoLayoutEnabled() instead.Parameters
- boolean|null
$enable
optional null - Boolean to turn on/off. If null returns current value.
Returns
boolean|Cake\View\ViewBuilder
$this
build()source 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
Cake\View\View
Throws
Cake\View\Exception\MissingViewException
className()source public deprecated
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
3.4.0 Use setClassName()/getClassName() instead.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
string|Cake\View\ViewBuilder
$this
createFromArray()source 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()source 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()source 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()source public
getLayout( )
Gets the name of the layout file to render the view inside of.
Returns
string|null|falsegetTemplate()source public
getTemplate( )
Gets the name of the view file to render. The name specified is the filename in /src/Template/
Returns
string|nullgetVar()source public
getVar( string $name )
Get view var
Parameters
- string
$name
- Var name
Returns
mixedThe var value or null if unset.
hasVar()source public
hasVar( string $name )
Check if view var is set.
Parameters
- string
$name
- Var name
Returns
booleanhelpers()source public deprecated
helpers( array $helpers = null , boolean $merge = true )
The helpers to use
Deprecated
3.4.0 Use setHelpers()/getHelpers() instead.Parameters
- array
$helpers
optional null - Helpers to use.
- boolean
$merge
optional true - Whether or not to merge existing data with the new data.
Returns
array|Cake\View\ViewBuilder
$this
isAutoLayoutEnabled()source 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
boolean|nulljsonSerialize()source public
jsonSerialize( )
Serializes the view builder object to a value that can be natively serialized and re-used to clone this builder instance.
Returns
arraySerializable array of configuration properties.
Implementation of
JsonSerializable::jsonSerialize()
layout()source public deprecated
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
3.4.0 Use setLayout()/getLayout() instead.Parameters
- string|null
$name
optional null - Layout file name to set. If null returns current name.
Returns
string|Cake\View\ViewBuilder
$this
layoutPath()source public deprecated
layoutPath( string|null $path = null )
Get/set path for layout files.
Deprecated
3.4.0 Use setLayoutPath()/getLayoutPath() instead.Parameters
- string|null
$path
optional null - Path for layout files. If null returns current path.
Returns
string|Cake\View\ViewBuilder
$this
name()source public deprecated
name( string|null $name = null )
Get/set the view name
Deprecated
3.4.0 Use setName()/getName() instead.Parameters
- string|null
$name
optional null - The name of the view
Returns
string|Cake\View\ViewBuilder
$this
options()source public deprecated
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
3.4.0 Use setOptions()/getOptions() instead.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
array|Cake\View\ViewBuilder
$this
plugin()source public deprecated
plugin( string|null|false $name = null )
The plugin name to use
Deprecated
3.4.0 Use setPlugin()/getPlugin() instead.Parameters
- string|null|false
$name
optional null Plugin name. If null returns current plugin. Use false to remove the current plugin name.
Returns
string|false|null|Cake\View\ViewBuilder
$this
serialize()source public
serialize( )
Serializes the view builder object.
Returns
stringImplementation of
Serializable::serialize()
setClassName()source 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()source 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()source 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()source public
setLayoutPath( string|null $path )
Sets path for layout files.
Parameters
- string|null
$path
- Path for layout files.
Returns
$this
setName()source public
setName( string|null $name )
Sets the view name.
Parameters
- string|null
$name
- The name of the view.
Returns
$this
setOptions()source 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()source 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()source 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()source public
setTemplatePath( string|null $path )
Sets path for template files.
Parameters
- string|null
$path
- Path for view files.
Returns
$this
setTheme()source 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()source 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()source 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()source public deprecated
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
3.4.0 Use setTemplate()/getTemplate()Parameters
- string|null
$name
optional null - View file name to set. If null returns current name.
Returns
string|Cake\View\ViewBuilder
$this
templatePath()source public deprecated
templatePath( string|null $path = null )
Get/set path for template files.
Deprecated
3.4.0 Use setTemplatePath()/getTemplatePath() instead.Parameters
- string|null
$path
optional null - Path for view files. If null returns current path.
Returns
string|Cake\View\ViewBuilder
$this
theme()source public deprecated
theme( string|null|false $theme = null )
The view theme to use.
Deprecated
3.4.0 Use setTheme()/getTheme() instead.Parameters
- string|null|false
$theme
optional null Theme name. If null returns current theme. Use false to remove the current theme.
Returns
string|false|null|Cake\View\ViewBuilder
$this
unserialize()source 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
$_classNamesource
protected string|null
The view class name to use. Can either use plugin notation, a short name or a fully namespaced classname.
$_optionssource
protected array
Additional options used when constructing the view.
This options array lets you provide custom constructor arguments to application/plugin view classes.
[]
© 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/3.7/class-Cake.View.ViewBuilder.html