abstract class ElementController extends AbstractController (View source)

Traits

Trait ApplicationAwareTrait A trait used with ApplicationAwareInterface

Properties

protected Application $app from  ApplicationAwareTrait
protected string[] $helpers

The handles of the helpers to be returned by the getHelperObjects method.

from  AbstractController
protected array $sets

The values to be sent to views.

from  AbstractController
protected string|null $action

The action to be performed.

from  AbstractController
protected Request|null $request

The current request instance.

from  AbstractController
protected array|null $parameters

The action parameters.

from  AbstractController
protected string|null $pkgHandle

The handle of the package defining this element.

protected BasicFileView|null $view

The view instance to be used when rendering the view.

Methods

setApplication(Application $app)

Setter method for the application

__construct()

Initialize the instance.

Request
getRequest()

Get the current request instance.

setRequest(Request $request)

Set the current request instance.

requireAsset()

Add an asset required in views.

addHeaderItem(string $item)

Adds an item to the view's header. This item will then be automatically printed out before the section of the page.

addFooterItem(string $item)

Adds an item to the view's footer. This item will then be automatically printed out before the section of the page.

set(string $key, mixed $val)

Set a value to be sent to the view.

array
getSets()

Get the values to be sent to views.

bool
shouldRunControllerTask()

Should the action be executed? Override this method to answer something different than true.

array
getHelperObjects()

Get the the helpers that will be be automatically sent to Views as variables.

mixed
get(string|null $key = null, mixed $defaultValue = null)

Get the whole $_GET array or a specific querystring value.

getTask() deprecated

No description

string|null
getAction()

Get the action to be performed.

array|null
getParameters()

Get the action parameters.

on_start()

Override this method to perform controller initializations.

on_before_render()

Override this method to do something right before the view is rendered.

isPost() deprecated

No description

mixed
post(string|null $key = null, mixed $defaultValue = null)

Get the whole $_POST array or a specific posted value.

redirect() deprecated

Redirect the clients to a specific URL/page (specify path(s) as argument(s) of this function).

RedirectResponse
buildRedirect(array|string|UrlInterface $destination, int $httpResponseCode = Response::HTTP_FOUND)

Build a response that redirects clients to a specific URL/page (specify path(s) as argument(s) of $args).

runTask(mixed $action, mixed $parameters) deprecated

No description

mixed
runAction(string $action, array $parameters = [])

Perform an action of this controller (if shouldRunControllerTask returns true).

mixed
request(string|null $key = null)

Get the whole $_REQUEST array or a specific requested value.

executeCommand(mixed $command)

Dispatches a command to the command bus.

dispatchBatch(Batch $batch)

No description

string
getElement()

Get the element name.

getViewObject() deprecated

Get the view instance to be used when rendering the view.

string|null
getPackageHandle()

Get the handle of the package defining this element.

setPackageHandle(string|null $pkgHandle)

Set the handle of the package defining this element.

render() deprecated

Render the element.

Details

setApplication(Application $app)

Setter method for the application

Parameters

Application $app

__construct()

Initialize the instance.

Request getRequest()

Get the current request instance.

Return Value

Request

setRequest(Request $request)

Set the current request instance.

Parameters

Request $request

requireAsset()

Add an asset required in views.

This function accept the same parameters as the requireAsset method of the ResponseAssetGroup.

See also

ResponseAssetGroup::requireAsset

addHeaderItem(string $item)

Adds an item to the view's header. This item will then be automatically printed out before the section of the page.

Parameters

string $item

addFooterItem(string $item)

Adds an item to the view's footer. This item will then be automatically printed out before the section of the page.

Parameters

string $item

set(string $key, mixed $val)

Set a value to be sent to the view.

Parameters

string $key

The name of the value

mixed $val

The value

array getSets()

Get the values to be sent to views.

Return Value

array

bool shouldRunControllerTask()

Should the action be executed? Override this method to answer something different than true.

Return Value

bool

array getHelperObjects()

Get the the helpers that will be be automatically sent to Views as variables.

Array keys are the variable names, array values are the helper instances.

Return Value

array

mixed get(string|null $key = null, mixed $defaultValue = null)

Get the whole $_GET array or a specific querystring value.

Parameters

string|null $key

set to null to get the whole $_GET array, or a string to get a specific value in the controller sets or from the querystring parameters

mixed $defaultValue

what to return if $key is specified but it does not exist neither in the sets nor in the querystring

Return Value

mixed

getTask() deprecated

deprecated use the getAction() method

No description

string|null getAction()

Get the action to be performed.

Return Value

string|null

array|null getParameters()

Get the action parameters.

Return Value

array|null

on_start()

Override this method to perform controller initializations.

on_before_render()

Override this method to do something right before the view is rendered.

For instance, you can call $this->set('variableName', $variableValue) to send the view additional sets.

isPost() deprecated

deprecated Use $this->getRequest()->isPost();

No description

mixed post(string|null $key = null, mixed $defaultValue = null)

Get the whole $_POST array or a specific posted value.

Parameters

string|null $key

set to null to get the whole $_POST array, or a string to get a specific posted value (resulting strings will be trimmed)

mixed $defaultValue

what to return if $key is specified but it does not exist in the $_POST

Return Value

mixed

redirect() deprecated

deprecated you should return a Response instance from your methods

Redirect the clients to a specific URL/page (specify path(s) as argument(s) of this function).

RedirectResponse buildRedirect(array|string|UrlInterface $destination, int $httpResponseCode = Response::HTTP_FOUND)

Build a response that redirects clients to a specific URL/page (specify path(s) as argument(s) of $args).

Parameters

array|string|UrlInterface $destination

use an Url object to specify the destination URL, or a string/array of strings to build the URL with the resolver

int $httpResponseCode

the HTTP response code

Return Value

RedirectResponse

runTask(mixed $action, mixed $parameters) deprecated

deprecated use the runAction method

No description

Parameters

mixed $action
mixed $parameters

mixed runAction(string $action, array $parameters = [])

Perform an action of this controller (if shouldRunControllerTask returns true).

Parameters

string $action

the action to be performed

array $parameters

the action parameters

Return Value

mixed

in case the action is executed, you'll receive the result of the action, or NULL otherwise

mixed request(string|null $key = null)

Get the whole $_REQUEST array or a specific requested value.

Parameters

string|null $key

set to null to get the whole $_REQUEST array, or a string to get a specific value in $_GET or in $_POST

Return Value

mixed

executeCommand(mixed $command)

Dispatches a command to the command bus.

Parameters

mixed $command

dispatchBatch(Batch $batch)

No description

Parameters

Batch $batch

abstract string getElement()

Get the element name.

Return Value

string

BasicFileView getViewObject() deprecated

deprecated Consider using the Element class instead (see the description of the render() method for examples)

Get the view instance to be used when rendering the view.

string|null getPackageHandle()

Get the handle of the package defining this element.

Return Value

string|null

setPackageHandle(string|null $pkgHandle)

Set the handle of the package defining this element.

Parameters

string|null $pkgHandle

render() deprecated

deprecated Consider using the Element class instead

Render the element.

Examples

<code><pre>
// Initialize the Element (usually done in controllers or service classes)
$currentPage = $app->make(\Concrete\Core\Http\Request::class)->getCurrentPage();
$argumentsForElementControllerConstructor = [];

/// ... with the element manager (extensible, better performance when the same element many times)
$elementManager = $app->make(\Concrete\Core\Filesystem\ElementManager::class);
$element = $elementManager->get('name', 'pkgHandle', $currentPage, $argumentsForElementControllerConstructor);

/// ... without the element manager
$element = new \Concrete\Core\Filesystem\Element('name', 'pkgHandle', $currentPage, $argumentsForElementControllerConstructor);

// Render the Element (usually done in views)
$element->render();
</pre></code>