Documentation

CmsController extends Controller
in package
Uses ExtendableTrait

This is the master controller for all front-end pages.

All requests that have not been picked up already by the router will end up here, then the URL is passed to the front-end controller for processing.

Tags
see
Controller

Front-end controller class

author

Alexey Bobkov, Samuel Georges

Table of Contents

$implement  : array<string|int, mixed>
$extendableCallbacks  : array<string|int, mixed>
$extendableGuardProperties  : bool
$extendableStaticMethods  : array<string|int, mixed>
$extensionData  : array<string|int, mixed>
$middleware  : array<string|int, mixed>
The middleware registered on the controller.
__call()  : mixed
Handle calls to missing methods on the controller.
__construct()  : mixed
Instantiate a new CmsController instance.
addDynamicMethod()  : mixed
Programmatically adds a method to the extendable class
addDynamicProperty()  : mixed
Programmatically adds a property to the extendable class
asExtension()  : mixed
Short hand for `getClassExtension()` method, except takes the short extension name, example:
callAction()  : Response
Execute an action on the controller.
clearExtendedClasses()  : void
Clear the list of extended classes so they will be re-extended.
extend()  : mixed
Extend this object properties upon construction.
extendableCall()  : mixed
Magic method for `__call()`
extendableCallStatic()  : mixed
Magic method for `__callStatic()`
extendableConstruct()  : mixed
This method should be called as part of the constructor.
extendableExtendCallback()  : void
Helper method for `::extend()` static method
extendableGet()  : string
Magic method for `__get()`
extendableSet()  : string
Magic method for `__set()`
extendClassWith()  : void
Dynamically extend a class with a specified behavior
getClassExtension()  : mixed
Returns a behavior object from an extendable class, example:
getClassMethods()  : array<string|int, mixed>
Get a list of class methods, extension equivalent of get_class_methods()
getDynamicProperties()  : array<string|int, mixed>
Returns all dynamic properties and their values
getMiddleware()  : array<string|int, mixed>
Get the middleware assigned to the controller.
isClassExtendedWith()  : bool
Check if extendable class is extended with a behavior object
methodExists()  : bool
Checks if a method exists, extension equivalent of method_exists()
middleware()  : ControllerMiddlewareOptions
Register middleware on the controller.
propertyExists()  : bool
Checks if a property exists, extension equivalent of `property_exists()`
run()  : string
Finds and serves the request using the primary controller.
extendableIsAccessible()  : bool
Checks if a property is accessible, property equivalent of `is_callable()`
extensionExtractMethods()  : void
Extracts the available methods from a behavior and adds it to the list of callable methods.

Properties

$implement

public array<string|int, mixed> $implement

Behaviors implemented by this controller.

$extendableCallbacks

protected static array<string|int, mixed> $extendableCallbacks = []

Used to extend the constructor of an extendable class. Eg:

Class::extend(function($obj) { })

$extendableGuardProperties

protected static bool $extendableGuardProperties = true

Indicates if dynamic properties can be created.

$extendableStaticMethods

protected static array<string|int, mixed> $extendableStaticMethods = []

Collection of static methods used by behaviors.

$extensionData

protected array<string|int, mixed> $extensionData = ['extensions' => [], 'methods' => [], 'dynamicMethods' => [], 'dynamicProperties' => []]

Class reflection information, including behaviors.

$middleware

The middleware registered on the controller.

protected array<string|int, mixed> $middleware = []

Methods

__call()

Handle calls to missing methods on the controller.

public __call(string $method, array<string|int, mixed> $parameters) : mixed
Parameters
$method : string
$parameters : array<string|int, mixed>
Tags
throws
BadMethodCallException
Return values
mixed

__construct()

Instantiate a new CmsController instance.

public __construct() : mixed
Return values
mixed

addDynamicMethod()

Programmatically adds a method to the extendable class

public addDynamicMethod(string $dynamicName, callable $method[, string $extension = null ]) : mixed
Parameters
$dynamicName : string
$method : callable
$extension : string = null
Return values
mixed

addDynamicProperty()

Programmatically adds a property to the extendable class

public addDynamicProperty(string $dynamicName[, string $value = null ]) : mixed
Parameters
$dynamicName : string
$value : string = null
Return values
mixed

asExtension()

Short hand for `getClassExtension()` method, except takes the short extension name, example:

public asExtension(string $shortName) : mixed

$this->asExtension('FormController')

Parameters
$shortName : string
Return values
mixed

callAction()

Execute an action on the controller.

public callAction(string $method, array<string|int, mixed> $parameters) : Response
Parameters
$method : string
$parameters : array<string|int, mixed>
Return values
Response

clearExtendedClasses()

Clear the list of extended classes so they will be re-extended.

public static clearExtendedClasses() : void
Return values
void

extend()

Extend this object properties upon construction.

public static extend(Closure $callback) : mixed
Parameters
$callback : Closure
Return values
mixed

extendableCall()

Magic method for `__call()`

public extendableCall(string $name[, array<string|int, mixed> $params = null ]) : mixed
Parameters
$name : string
$params : array<string|int, mixed> = null
Return values
mixed

extendableCallStatic()

Magic method for `__callStatic()`

public static extendableCallStatic(string $name[, array<string|int, mixed> $params = null ]) : mixed
Parameters
$name : string
$params : array<string|int, mixed> = null
Return values
mixed

extendableConstruct()

This method should be called as part of the constructor.

public extendableConstruct() : mixed
Return values
mixed

extendableExtendCallback()

Helper method for `::extend()` static method

public static extendableExtendCallback(callable $callback) : void
Parameters
$callback : callable
Return values
void

extendableGet()

Magic method for `__get()`

public extendableGet(string $name) : string
Parameters
$name : string
Return values
string

extendableSet()

Magic method for `__set()`

public extendableSet(string $name, string $value) : string
Parameters
$name : string
$value : string
Return values
string

extendClassWith()

Dynamically extend a class with a specified behavior

public extendClassWith(string $extensionName) : void
Parameters
$extensionName : string
Return values
void

getClassExtension()

Returns a behavior object from an extendable class, example:

public getClassExtension(string $name) : mixed

$this->getClassExtension('Backend.Behaviors.FormController')

Parameters
$name : string

Fully qualified behavior name

Return values
mixed

getClassMethods()

Get a list of class methods, extension equivalent of get_class_methods()

public getClassMethods() : array<string|int, mixed>
Return values
array<string|int, mixed>

getDynamicProperties()

Returns all dynamic properties and their values

public getDynamicProperties() : array<string|int, mixed>
Return values
array<string|int, mixed>

['property' => 'value']

getMiddleware()

Get the middleware assigned to the controller.

public getMiddleware() : array<string|int, mixed>
Return values
array<string|int, mixed>

isClassExtendedWith()

Check if extendable class is extended with a behavior object

public isClassExtendedWith(string $name) : bool
Parameters
$name : string

Fully qualified behavior name

Return values
bool

methodExists()

Checks if a method exists, extension equivalent of method_exists()

public methodExists(string $name) : bool
Parameters
$name : string
Return values
bool

middleware()

Register middleware on the controller.

public middleware(array<string|int, mixed>|string|Closure $middleware[, array<string|int, mixed> $options = [] ]) : ControllerMiddlewareOptions
Parameters
$middleware : array<string|int, mixed>|string|Closure
$options : array<string|int, mixed> = []
Return values
ControllerMiddlewareOptions

propertyExists()

Checks if a property exists, extension equivalent of `property_exists()`

public propertyExists(string $name) : bool
Parameters
$name : string
Return values
bool

run()

Finds and serves the request using the primary controller.

public run([string $url = '/' ]) : string
Parameters
$url : string = '/'

Specifies the requested page URL. If the parameter is omitted, the current URL used.

Return values
string

Returns the processed page content.

extendableIsAccessible()

Checks if a property is accessible, property equivalent of `is_callable()`

protected extendableIsAccessible(mixed $class, string $propertyName) : bool
Parameters
$class : mixed
$propertyName : string
Return values
bool

extensionExtractMethods()

Extracts the available methods from a behavior and adds it to the list of callable methods.

protected extensionExtractMethods(string $extensionName, object $extensionObject) : void
Parameters
$extensionName : string
$extensionObject : object
Return values
void

Search results