class BlankComponent extends BaseComponent

Traits

Adds event related features to any class.

Extendable Trait Allows for "Private traits"

Properties

protected array $extensionData from  ExtendableTrait
static protected array $extendableCallbacks from  ExtendableTrait
static protected array $extendableStaticMethods from  ExtendableTrait
static protected bool $extendableGuardProperties from  ExtendableTrait
static protected ClassLoader $extendableClassLoader from  ExtendableTrait
$implement from  Extendable
protected array $emitterSingleEvents from  EventEmitter
protected array $emitterEvents from  EventEmitter
protected array $emitterEventSorted from  EventEmitter
array $assetPath from  AssetMaker
protected array $properties from  PropertyContainer
$defaultPartial from  BaseComponent
string $alias from  BaseComponent
string $name from  BaseComponent
bool $isHidden
string $extensionIcon from  BaseComponent
protected string $dirName from  BaseComponent
protected MainController $controller from  BaseComponent
protected Page $page from  BaseComponent
protected string $errorMessage

Methods

extendableConstruct()

Constructor.

static void
extendableExtendCallback(callable $callback)

Helper method for ::extend() static method

static void
clearExtendedClasses()

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

string
extensionNormalizeClassName(string $name)

Normalizes the provided extension name allowing for the ClassLoader to inject aliased classes

extendClassWith(string $extensionName)

Dynamically extend a class with a specified behavior

void
extensionExtractMethods(string $extensionName, object $extensionObject)

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

addDynamicMethod(string $dynamicName, callable $method, string $extension = null)

Programmatically adds a method to the extendable class

addDynamicProperty(string $dynamicName, string $value = null)

Programatically adds a property to the extendable class

bool
isClassExtendedWith(string $name)

Check if extendable class is extended with a behavior object

mixed
getClassExtension(string $name)

Returns a behavior object from an extendable class, example:

mixed
asExtension(string $shortName)

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

bool
methodExists(string $name)

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

array
getClassMethods()

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

array
getDynamicProperties()

Returns all dynamic properties and their values

bool
propertyExists(string $name)

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

bool
extendableIsAccessible(mixed $class, string $propertyName)

Checks if a property is accessible, property equivalent of is_callabe()

string
extendableGet(string $name)

Magic method for __get()

string
extendableSet(string $name, string $value)

Magic method for __set()

mixed
extendableCall(string $name, array $params = null)

Magic method for __call()

static mixed
extendableCallStatic(string $name, array $params = null)

Magic method for __callStatic()

ClassLoader|null
extensionGetClassLoader()

Gets the class loader

__construct($cmsObject, array $properties, $errorMessage)

Class constructor

__get($name)

No description

__set($name, $value)

No description

__call(string $method, array $parameters)

Dynamically handle calls into the controller instance.

static 
__callStatic($name, $params)

No description

static 
extend(callable $callback)

No description

bindEvent(string $event, callable $callback, int $priority = 0)

Create a new event binding.

bindEventOnce(string $event, callable $callback)

Create a new event binding that fires once only

void
emitterEventSortEvents(string $eventName)

Sort the listeners for a given event by priority.

unbindEvent(string $event = null)

Destroys an event binding.

string|array
fireEvent(string $event, array $params = [], bool $halt = false)

Fire an event and call the listeners.

mixed
fireSystemEvent(string $event, array $params = [], bool $halt = true)

Fires a combination of local and global events. The first segment is removed from the event name locally and the local object is passed as the first argument to the event globally. Halting is also enabled by default.

flushAssets()

No description

string
getAssetPath(string $fileName, string $assetPath = null)

Locates a file based on it's definition. If the file starts with a forward slash, it will be returned in context of the application public path, otherwise it will be returned in context of the asset path.

addMeta($meta)

No description

addJs($href, $attributes = null)

No description

addCss($href, $attributes = null)

No description

array
validateProperties(array $properties)

Validates the properties against the defined properties of the class.

defineProperties()

Defines the properties used by this class.

setProperties(array $properties)

Sets multiple properties.

setProperty(string $name, mixed $value)

Sets a property value

array
getProperties()

Returns all properties.

mixed
property(string $name, string $default = null)

Returns a defined property value or default if one is not set.

array
getPropertyOptions(string $property)

Returns options for multi-option properties (drop-downs, etc.)

getPath()

Returns the absolute component path.

initialize()

Executed when this component is first initialized, before AJAX requests.

onRun()

Executed when this component is bound to a layout.

onRender()

Executed when this component is rendered on a layout.

mixed
renderPartial()

Renders a requested partial in context of this component,

runEventHandler($handler)

Executes an AJAX handler.

getEventHandler($handler)

No description

param($name, $default = null)

No description

__toString()

No description

array
componentDetails()

No description

Details

in ExtendableTrait at line 55
extendableConstruct()

Constructor.

in ExtendableTrait at line 103
static void extendableExtendCallback(callable $callback)

Helper method for ::extend() static method

Parameters

callable $callback

Return Value

void

in ExtendableTrait at line 120
static void clearExtendedClasses()

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

Return Value

void

in ExtendableTrait at line 131
protected string extensionNormalizeClassName(string $name)

Normalizes the provided extension name allowing for the ClassLoader to inject aliased classes

Parameters

string $name

Return Value

string

in ExtendableTrait at line 149
void|ExtendableTrait extendClassWith(string $extensionName)

Dynamically extend a class with a specified behavior

Parameters

string $extensionName

Return Value

void|ExtendableTrait

Exceptions

Exception

in ExtendableTrait at line 178
protected void extensionExtractMethods(string $extensionName, object $extensionObject)

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

Parameters

string $extensionName
object $extensionObject

Return Value

void

in ExtendableTrait at line 206
addDynamicMethod(string $dynamicName, callable $method, string $extension = null)

Programmatically adds a method to the extendable class

Parameters

string $dynamicName
callable $method
string $extension

in ExtendableTrait at line 225
addDynamicProperty(string $dynamicName, string $value = null)

Programatically adds a property to the extendable class

Parameters

string $dynamicName
string $value

in ExtendableTrait at line 249
bool isClassExtendedWith(string $name)

Check if extendable class is extended with a behavior object

Parameters

string $name

Fully qualified behavior name

Return Value

bool

in ExtendableTrait at line 265
mixed getClassExtension(string $name)

Returns a behavior object from an extendable class, example:

$this->getClassExtension('Admin.Actions.FormController')

Parameters

string $name

Fully qualified behavior name

Return Value

mixed

in ExtendableTrait at line 280
mixed asExtension(string $shortName)

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

$this->asExtension('FormController')

Parameters

string $shortName

Return Value

mixed

in ExtendableTrait at line 301
bool methodExists(string $name)

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

Parameters

string $name

Return Value

bool

in ExtendableTrait at line 313
array getClassMethods()

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

Return Value

array

in ExtendableTrait at line 326
array getDynamicProperties()

Returns all dynamic properties and their values

Return Value

array

['property' => 'value']

in ExtendableTrait at line 344
bool propertyExists(string $name)

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

Parameters

string $name

Return Value

bool

in ExtendableTrait at line 370
protected bool extendableIsAccessible(mixed $class, string $propertyName)

Checks if a property is accessible, property equivalent of is_callabe()

Parameters

mixed $class
string $propertyName

Return Value

bool

in ExtendableTrait at line 385
string extendableGet(string $name)

Magic method for __get()

Parameters

string $name

Return Value

string

in ExtendableTrait at line 410
string extendableSet(string $name, string $value)

Magic method for __set()

Parameters

string $name
string $value

Return Value

string

in ExtendableTrait at line 444
mixed extendableCall(string $name, array $params = null)

Magic method for __call()

Parameters

string $name
array $params

Return Value

mixed

in ExtendableTrait at line 483
static mixed extendableCallStatic(string $name, array $params = null)

Magic method for __callStatic()

Parameters

string $name
array $params

Return Value

mixed

in ExtendableTrait at line 552
protected ClassLoader|null extensionGetClassLoader()

Gets the class loader

Return Value

ClassLoader|null

at line 22
__construct($cmsObject, array $properties, $errorMessage)

Class constructor

Parameters

$cmsObject
array $properties
$errorMessage

in Extendable at line 30
__get($name)

No description

Parameters

$name

in Extendable at line 35
__set($name, $value)

No description

Parameters

$name
$value

in BaseComponent at line 172
__call(string $method, array $parameters)

Dynamically handle calls into the controller instance.

Parameters

string $method
array $parameters

in Extendable at line 45
static __callStatic($name, $params)

No description

Parameters

$name
$params

in Extendable at line 50
static extend(callable $callback)

No description

Parameters

callable $callback

in EventEmitter at line 36
EventEmitter bindEvent(string $event, callable $callback, int $priority = 0)

Create a new event binding.

Parameters

string $event

The event name to listen for

callable $callback

The callback to call when emitted

int $priority

Return Value

EventEmitter

in EventEmitter at line 52
EventEmitter bindEventOnce(string $event, callable $callback)

Create a new event binding that fires once only

Parameters

string $event

The event name

callable $callback

Return Value

EventEmitter

in EventEmitter at line 66
protected void emitterEventSortEvents(string $eventName)

Sort the listeners for a given event by priority.

Parameters

string $eventName

Return Value

void

in EventEmitter at line 84
EventEmitter unbindEvent(string $event = null)

Destroys an event binding.

Parameters

string $event

Event to destroy

Return Value

EventEmitter

in EventEmitter at line 124
string|array fireEvent(string $event, array $params = [], bool $halt = false)

Fire an event and call the listeners.

Parameters

string $event

Event name

array $params

Event parameters

bool $halt

Halt after first non-null result

Return Value

string|array

Collection of event results / Or single result (if halted)

in EventEmitter at line 178
mixed fireSystemEvent(string $event, array $params = [], bool $halt = true)

Fires a combination of local and global events. The first segment is removed from the event name locally and the local object is passed as the first argument to the event globally. Halting is also enabled by default.

For example:

$this->fireSystemEvent('admin.form.myEvent', ['my value']);

Is equivalent to:

$this->fireEvent('form.myEvent', ['myvalue'], true);

Event::fire('admin.form.myEvent', [$this, 'myvalue'], true);

Parameters

string $event

Event name

array $params

Event parameters

bool $halt

Halt after first non-null result

Return Value

mixed

in AssetMaker at line 15
flushAssets()

No description

in AssetMaker at line 30
string getAssetPath(string $fileName, string $assetPath = null)

Locates a file based on it's definition. If the file starts with a forward slash, it will be returned in context of the application public path, otherwise it will be returned in context of the asset path.

Parameters

string $fileName

File to load.

string $assetPath

Explicitly define an asset path.

Return Value

string

Relative path to the asset file.

in AssetMaker at line 55
addMeta($meta)

No description

Parameters

$meta

in AssetMaker at line 60
addJs($href, $attributes = null)

No description

Parameters

$href
$attributes

in AssetMaker at line 65
addCss($href, $attributes = null)

No description

Parameters

$href
$attributes

in PropertyContainer at line 20
array validateProperties(array $properties)

Validates the properties against the defined properties of the class.

This method also sets default properties.

Parameters

array $properties

The supplied property values.

Return Value

array

The validated property set, with defaults applied.

in PropertyContainer at line 41
defineProperties()

Defines the properties used by this class.

This method should be used as an override in the extended class.

in PropertyContainer at line 51
setProperties(array $properties)

Sets multiple properties.

Parameters

array $properties

in PropertyContainer at line 62
setProperty(string $name, mixed $value)

Sets a property value

Parameters

string $name
mixed $value

in PropertyContainer at line 71
array getProperties()

Returns all properties.

Return Value

array

in PropertyContainer at line 84
mixed property(string $name, string $default = null)

Returns a defined property value or default if one is not set.

Parameters

string $name

The property name to look for.

string $default

A default value to return if no name is found.

Return Value

mixed

The property value or the default specified.

in PropertyContainer at line 98
array getPropertyOptions(string $property)

Returns options for multi-option properties (drop-downs, etc.)

Parameters

string $property

Specifies the property name

Return Value

array

Return an array of option values and descriptions

in BaseComponent at line 90
getPath()

Returns the absolute component path.

in BaseComponent at line 98
initialize()

Executed when this component is first initialized, before AJAX requests.

in BaseComponent at line 105
onRun()

Executed when this component is bound to a layout.

at line 40
onRender()

Executed when this component is rendered on a layout.

in BaseComponent at line 121
mixed renderPartial()

Renders a requested partial in context of this component,

Return Value

mixed

See also

MainController::renderPartial for usage.

in BaseComponent at line 133
runEventHandler($handler)

Executes an AJAX handler.

Parameters

$handler

in BaseComponent at line 142
getEventHandler($handler)

No description

Parameters

$handler

in BaseComponent at line 151
param($name, $default = null)

No description

Parameters

$name
$default

in BaseComponent at line 190
__toString()

No description

at line 33
array componentDetails()

No description

Return Value

array