CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 4.2 Strawberry API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 4.2
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget

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

Namespace: Cake\View

Property Summary

  • $_autoLayout protected
    bool

    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

    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

    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

    The theme name to use.

  • $_vars protected
    array

    View vars

Method Summary

  • _checkViewVars() protected

    Iterates through hash to clean up and normalize.

  • addHelper() public

    Adds a helper to use.

  • build() public

    Using the data in the builder, create a view instance.

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

  • getOption() public

    Get view option.

  • 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 templates/<SubFolder>/ without the .php 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.

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

  • 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 templates/layout/ without the .php extension.

  • setLayoutPath() public

    Sets path for layout files.

  • setName() public

    Sets the view name.

  • setOption() public

    Set view option.

  • 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 templates/<SubFolder>/ without the .php 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.

  • unserialize() public

    Unserializes the view builder object.

Method Detail

_checkViewVars() ¶ protected

_checkViewVars(mixed $item, string $key): void

Iterates through hash to clean up and normalize.

Parameters
mixed $item

Reference to the view var value.

string $key

View var key.

Returns
void
Throws
RuntimeException

addHelper() ¶ public

addHelper(string $helper, array $options = []): $this

Adds a helper to use.

Parameters
string $helper

Helper to use.

array $options optional

Options.

Returns
$this

build() ¶ public

build(array $vars = [], Cake\Http\ServerRequest|null $request = null, Cake\Http\Response|null $response = null, Cake\Event\EventManagerInterface|null $events = null): Cake\View\View

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

Returns
Cake\View\View
Throws
Cake\View\Exception\MissingViewException

createFromArray() ¶ public

createFromArray(array $config): $this

Configures a view builder instance from serialized config.

Parameters
array $config

View builder configuration array.

Returns
$this

disableAutoLayout() ¶ public

disableAutoLayout(): $this

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(bool $enable = true): $this

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
bool $enable optional

Boolean to turn on/off.

Returns
$this

getClassName() ¶ public

getClassName(): string|null

Gets the view classname.

Returns
string|null

getHelpers() ¶ public

getHelpers(): array

Gets the helpers to use.

Returns
array

getLayout() ¶ public

getLayout(): string|null

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

Returns
string|null

getLayoutPath() ¶ public

getLayoutPath(): string|null

Gets path for layout files.

Returns
string|null

getName() ¶ public

getName(): string|null

Gets the view name.

Returns
string|null

getOption() ¶ public

getOption(string $name): mixed

Get view option.

Parameters
string $name

The name of the option.

Returns
mixed

getOptions() ¶ public

getOptions(): array

Gets additional options for the view.

Returns
array

getPlugin() ¶ public

getPlugin(): string|null

Gets the plugin name to use.

Returns
string|null

getTemplate() ¶ public

getTemplate(): string|null

Gets the name of the view file to render. The name specified is the filename in templates/<SubFolder>/ without the .php extension.

Returns
string|null

getTemplatePath() ¶ public

getTemplatePath(): string|null

Gets path for template files.

Returns
string|null

getTheme() ¶ public

getTheme(): string|null

Gets the view theme to use.

Returns
string|null

getVar() ¶ public

getVar(string $name): mixed

Get view var

Parameters
string $name

Var name

Returns
mixed

getVars() ¶ public

getVars(): array

Get all view vars.

Returns
array

hasVar() ¶ public

hasVar(string $name): bool

Check if view var is set.

Parameters
string $name

Var name

Returns
bool

isAutoLayoutEnabled() ¶ public

isAutoLayoutEnabled(): bool

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
bool

jsonSerialize() ¶ public

jsonSerialize(): array

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:

  • ORM\Query executed and stored as resultset
  • SimpleXMLElements stored as associative array
  • Exceptions stored as strings
  • Resources, \Closure and \PDO are not supported.
Returns
array

serialize() ¶ public

serialize(): string

Serializes the view builder object.

Returns
string

setClassName() ¶ public

setClassName(string|null $name): $this

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, bool $merge = true): $this

Sets the helpers to use.

Parameters
array $helpers

Helpers to use.

bool $merge optional

Whether or not to merge existing data with the new data.

Returns
$this

setLayout() ¶ public

setLayout(string|null $name): $this

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.

Parameters
string|null $name

Layout file name to set.

Returns
$this

setLayoutPath() ¶ public

setLayoutPath(string|null $path): $this

Sets path for layout files.

Parameters
string|null $path

Path for layout files.

Returns
$this

setName() ¶ public

setName(string|null $name): $this

Sets the view name.

Parameters
string|null $name

The name of the view, or null to remove the current name.

Returns
$this

setOption() ¶ public

setOption(string $name, mixed $value): $this

Set view option.

Parameters
string $name

The name of the option.

mixed $value

Value to set.

Returns
$this

setOptions() ¶ public

setOptions(array $options, bool $merge = true): $this

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.

bool $merge optional

Whether or not to merge existing data with the new data.

Returns
$this

setPlugin() ¶ public

setPlugin(string|null $name): $this

Sets the plugin name to use.

Parameters
string|null $name

Plugin name. Use null to remove the current plugin name.

Returns
$this

setTemplate() ¶ public

setTemplate(string|null $name): $this

Sets the name of the view file to render. The name specified is the filename in templates/<SubFolder>/ without the .php extension.

Parameters
string|null $name

View file name to set, or null to remove the template name.

Returns
$this

setTemplatePath() ¶ public

setTemplatePath(string|null $path): $this

Sets path for template files.

Parameters
string|null $path

Path for view files.

Returns
$this

setTheme() ¶ public

setTheme(string|null $theme): $this

Sets the view theme to use.

Parameters
string|null $theme

Theme name. Use null to remove the current theme.

Returns
$this

setVar() ¶ public

setVar(string $name, mixed $value = null): $this

Saves a variable for use inside a template.

Parameters
string $name

A string or an array of data.

mixed $value optional

Value.

Returns
$this

setVars() ¶ public

setVars(array $data, bool $merge = true): $this

Saves view vars for use inside templates.

Parameters
array $data

Array of data.

bool $merge optional

Whether to merge with existing vars, default true.

Returns
$this

unserialize() ¶ public

unserialize(string $data): void

Unserializes the view builder object.

Parameters
string $data

Serialized string.

Returns
void

Property Detail

$_autoLayout ¶ protected

Whether or not autoLayout should be enabled.

Type
bool

$_className ¶ protected

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

Type
string|null

$_helpers ¶ protected

The helpers to use

Type
array

$_layout ¶ protected

The layout name to render.

Type
string|null

$_layoutPath ¶ protected

The layout path to build the view with.

Type
string|null

$_name ¶ protected

The view variables to use

Type
string|null

$_options ¶ protected

Additional options used when constructing the view.

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

Type
array

$_plugin ¶ protected

The plugin name to use.

Type
string|null

$_template ¶ protected

The template file to render.

Type
string|null

$_templatePath ¶ protected

The subdirectory to the template.

Type
string|null

$_theme ¶ protected

The theme name to use.

Type
string|null

$_vars ¶ protected

View vars

Type
array
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs