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
    Whether or not autoLayout should be enabled.
  • $_className protected
    string

    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
    The layout name to render.
  • $_layoutPath protected
    string
    The layout path to build the view with.
  • $_name protected
    string
    The view variables to use
  • $_options protected
    array
    Additional options used when constructing the view.
  • $_plugin protected
    string
    The plugin name to use.
  • $_template protected
    string
    The template file to render.
  • $_templatePath protected
    string
    The subdirectory to the template.
  • $_theme protected
    string
    The theme name to use.

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.
  • Configures a view builder instance from serialized config.
  • helpers() public
    The helpers to use
  • 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.
  • 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.

  • Get/set path for template files.
  • theme() public
    The view theme to use.
  • unserialize() public
    Unserializes the view builder object.

Method Detail

autoLayout()source public

autoLayout( boolean|null $autoLayout 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.

Parameters

boolean|null $autoLayout 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\Network\Request $request null , Cake\Network\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\Network\Request $request optional null
The request to use.
Cake\Network\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

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

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

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

helpers()source public

helpers( array $helpers null , boolean $merge true )

The helpers to use

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

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

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.

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

layoutPath( string|null $path null )

Get/set path for layout files.

Parameters

string|null $path optional null
Path for layout files. If null returns current path.

Returns

string|Cake\View\ViewBuilder
$this

name()source public

name( string|null $name null )

Get/set the view name

Parameters

string|null $name optional null
The name of the view

Returns

array|Cake\View\ViewBuilder
$this

options()source 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.

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

plugin( string|null|false $name null )

The plugin name to use

Parameters

string|null|false $name optional null

Plugin name. If null returns current plugin. Use false to remove the current plugin name.

Returns

string|Cake\View\ViewBuilder
$this

serialize()source public

serialize( )

Serializes the view builder object.

Returns

string

Implementation of

Serializable::serialize()

template()source 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/ without the .ctp extension.

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

templatePath( string|null $path null )

Get/set path for template files.

Parameters

string|null $path optional null
Path for view files. If null returns current path.

Returns

string|Cake\View\ViewBuilder
$this

theme()source public

theme( string|null|false $theme null )

The view theme to use.

Parameters

string|null|false $theme optional null

Theme name. If null returns current theme. Use false to remove the current theme.

Returns

string|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

Whether or not autoLayout should be enabled.

$_classNamesource

protected string

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

The layout name to render.

$_layoutPathsource

protected string

The layout path to build the view with.

$_namesource

protected string

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

The plugin name to use.

$_templatesource

protected string

The template file to render.

$_templatePathsource

protected string

The subdirectory to the template.

$_themesource

protected string

The theme name to use.

© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.View.ViewBuilder.html