W3cubDocs

/CakePHP 3.8

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
Namespace: Cake\View
Location: View/ViewBuilder.php

Properties summary

  • $_autoLayout protected
    boolean|null
    Whether or not autoLayout should be enabled.
  • $_className protected
    string|null

    The view class name to use. Can either use plugin notation, a short name or a fully namespaced classname.

  • $_helpers protected
    array
    The helpers to use
  • $_layout protected
    string|null|false
    The layout name to render.
  • $_layoutPath protected
    string|null
    The layout path to build the view with.
  • $_name protected
    string|null
    The view variables to use
  • $_options protected
    array
    Additional options used when constructing the view.
  • $_plugin protected
    string|null|false
    The plugin name to use.
  • $_template protected
    string|null
    The template file to render.
  • $_templatePath protected
    string|null
    The subdirectory to the template.
  • $_theme protected
    string|null|false
    The theme name to use.
  • $_vars protected
    array
    View vars

Method Summary

  • autoLayout() public deprecated

    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 deprecated
    Get/set the view classname.
  • 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.
  • getHelpers() public
    Gets the helpers to use.
  • getLayout() public
    Gets the name of the layout file to render the view inside of.
  • 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.

  • 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 deprecated
    The helpers to use
  • 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.

  • layout() public deprecated

    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 deprecated
    Get/set path for layout files.
  • name() public deprecated
    Get/set the view name
  • options() public deprecated
    Set additional options for the view.
  • plugin() public deprecated
    The plugin name to use
  • serialize() public
    Serializes the view builder object.
  • 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.

  • 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.

  • 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 deprecated

    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 deprecated
    Get/set path for template files.
  • theme() public deprecated
    The view theme to use.
  • unserialize() public
    Unserializes 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

getClassName()source public

getClassName( )

Gets the view classname.

Returns

string|null

getHelpers()source public

getHelpers( )

Gets the helpers to use.

Returns

array

getLayout()source public

getLayout( )

Gets the name of the layout file to render the view inside of.

Returns

string|null|false

getLayoutPath()source public

getLayoutPath( )

Gets path for layout files.

Returns

string|null

getName()source public

getName( )

Gets the view name.

Returns

string|null

getOptions()source public

getOptions( )

Gets additional options for the view.

Returns

array

getPlugin()source public

getPlugin( )

Gets the plugin name to use.

Returns

string|null|false

getTemplate()source public

getTemplate( )

Gets the name of the view file to render. The name specified is the filename in /src/Template/ without the .ctp extension.

Returns

string|null

getTemplatePath()source public

getTemplatePath( )

Gets path for template files.

Returns

string|null

getTheme()source public

getTheme( )

Gets the view theme to use.

Returns

string|null|false

getVar()source public

getVar( string $name )

Get view var

Parameters

string $name
Var name

Returns

mixed
The var value or null if unset.

getVars()source public

getVars( )

Get all view vars.

Returns

array

hasVar()source public

hasVar( string $name )

Check if view var is set.

Parameters

string $name
Var name

Returns

boolean

helpers()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|null

jsonSerialize()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

array
Serializable 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

string

Implementation 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/ without the .ctp extension.

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/ without the .ctp extension.

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

$_autoLayoutsource

protected boolean|null

Whether or not autoLayout should be enabled.

$_classNamesource

protected string|null

The view class name to use. Can either use plugin notation, a short name or a fully namespaced classname.

$_helperssource

protected array

The helpers to use

[]

$_layoutsource

protected string|null|false

The layout name to render.

$_layoutPathsource

protected string|null

The layout path to build the view with.

$_namesource

protected string|null

The view variables to use

$_optionssource

protected array

Additional options used when constructing the view.

This options array lets you provide custom constructor arguments to application/plugin view classes.

[]

$_pluginsource

protected string|null|false

The plugin name to use.

$_templatesource

protected string|null

The template file to render.

$_templatePathsource

protected string|null

The subdirectory to the template.

$_themesource

protected string|null|false

The theme name to use.

$_varssource

protected array

View vars

[]

© 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.8/class-Cake.View.ViewBuilder.html