abstract class AbstractView implements ViewInterface (View source)

An abstract View

Properties

protected array $supportedOptions

This contains the supported options, their default values, descriptions and types.

protected array $options

The configuration options of this view

protected array $variables

View variables and their values

protected ControllerContext $controllerContext

Methods

static ViewInterface
createWithOptions(array $options)

Factory method to create an instance with given options.

__construct(array $options = [])

Set default options based on the supportedOptions provided

mixed
getOption(string $optionName)

Get a specific option of this View

void
setOption(string $optionName, mixed $value)

Set a specific option of this View

assign(string $key, mixed $value)

Add a variable to $this->variables.

assignMultiple(array $values)

Add multiple variables to $this->variables.

void
setControllerContext(ControllerContext $controllerContext)

Sets the current controller context

bool
canRender(ControllerContext $controllerContext)

Tells if the view implementation can render the view for the given context.

Details

static ViewInterface createWithOptions(array $options)

Factory method to create an instance with given options.

Parameters

array $options

Return Value

ViewInterface

__construct(array $options = [])

Set default options based on the supportedOptions provided

Parameters

array $options

Exceptions

Exception

mixed getOption(string $optionName)

Get a specific option of this View

Parameters

string $optionName

Return Value

mixed

Exceptions

Exception

void setOption(string $optionName, mixed $value)

Set a specific option of this View

Parameters

string $optionName
mixed $value

Return Value

void

Exceptions

Exception

ViewInterface assign(string $key, mixed $value)

Add a variable to $this->variables.

Can be chained, so $this->view->assign(..., ...)->assign(..., ...); is possible

Parameters

string $key

Key of variable

mixed $value

Value of object

Return Value

ViewInterface

an instance of $this, to enable chaining

ViewInterface assignMultiple(array $values)

Add multiple variables to $this->variables.

Parameters

array $values

array in the format array(key1 => value1, key2 => value2)

Return Value

ViewInterface

an instance of $this, to enable chaining

void setControllerContext(ControllerContext $controllerContext)

Sets the current controller context

Parameters

ControllerContext $controllerContext

Context of the controller associated with this view

Return Value

void

bool canRender(ControllerContext $controllerContext)

Tells if the view implementation can render the view for the given context.

By default we assume that the view implementation can handle all kinds of contexts. Override this method if that is not the case.

Parameters

ControllerContext $controllerContext

Return Value

bool

true if the view has something useful to display, otherwise false