Documentation

Callback extends EntityBase

This class represents a callback function.

This class supports three different kinds of callbacks: INLINE: An inline function. Note that these cannot be persisted!

 $callback = new \Cx\Core_Modules\Access\Model\Entity\Callback(
     function($a) { return 2 * $a; }
 );
 $callback(2);

REFERENCE: A PHP-style function or method reference.

 $callback = new \Cx\Core_Modules\Access\Model\Entity\Callback(
     array('Cx\Core\Html\Controller\ViewGenerator', 'getVgSearchUrl')
 );
 $callback(0, 'foo');

JSON: A JsonAdapter method. Params can be extended (but not overwritten) on invoke.

 $callback = \Cx\Core_Modules\Access\Model\Entity\Callback::fromJsonAdapter(
     'page',
     'get',
     array('page'=>1)
 );
 return $callback(array('lang' => 'en'));
Tags
copyright

Cloudrexx AG

author

Michael Ritter michael.ritter@cloudrexx.com

subpackage

core_module_access

Table of Contents

Constants

TYPE_INLINE  = 1
TYPE_JSON  = 3
TYPE_REFERENCE  = 2

Properties

$callbackInfo  : array<string|int, mixed>|callable
$localeCodes  : array<string|int, mixed>
List of locale codes ordered by translation fallback order per Cx instance
$nestingCount  : int
Counts the nesting level of __call()
$stringRepresentationBlank  : bool
Whether blank string representations are valid
$stringRepresentationFields  : array<string|int, mixed>
List of fields that should be available in the string representation
$stringRepresentationFormat  : string
Sprintf format for the string representation
$type  : int
$validators  : array<string|int, mixed>
Initialize this array as follows: array( 'columName' => Zend_Validate )
$virtual  : bool
Defines if an entity is virtual and therefore not persistable.

Methods

__call()  : mixed
Route methods like getName(), getType(), getDirectory(), etc.
__construct()  : mixed
Creates a new callback from callback function info
__get()  : mixed
This is an ugly solution to allow $this->cx to be available in all entity classes Since the entity's constructor is not called when an entity is loaded from DB this cannot be assigned there.
__invoke()  : mixed
Calls the method or function specified by this Callback
__sleep()  : array<string|int, mixed>
Advises PHP to only serialize $this->callbackInfo.
__toString()  : string
Returns this entity's identifying value
__wakeup()  : mixed
Recreates $this->type on wakeup
fromJsonAdapter()  : self
Creates a callback for a JsonAdapter
getCallbackInfo()  : array<string|int, mixed>
Returns the information about a callback
getComponentController()  : SystemComponent
Returns the component controller for this component
getKeyAsString()  : string
Returns this entity's key
getTranslatedFieldValue()  : mixed
Returns the value of a translatable field using fallback mechanisms
getType()  : int
Returns the type detected by analyzing $callbackInfo
initializeValidators()  : mixed
Set $this->validators
isSerializable()  : bool
Tells whether this callback can be serialized
isVirtual()  : bool
Returns the virtuality of the entity
setVirtual()  : mixed
Set the virtuality of the entity
validate()  : mixed
findType()  : mixed
Sets $this->type by analyzing $this->callbackInfo
getFallbackLocaleCodes()  : array<string|int, mixed>
Returns a list of all locale codes ordered by fallback order
getStringRepresentationBlank()  : bool
Whether blank string representations are valid
getStringRepresentationFields()  : array<string|int, mixed>
Returns a list of fields available in the string representation
getStringRepresentationFormat()  : string
Returns the sprintf() format for the string representation

Constants

TYPE_REFERENCE

public int TYPE_REFERENCE = 2

PHP-style referenced function

Properties

$callbackInfo

protected array<string|int, mixed>|callable $callbackInfo

Info about the callback function

$localeCodes

List of locale codes ordered by translation fallback order per Cx instance

protected static array<string|int, mixed> $localeCodes = array()

Array in the form: array(<instanceId> => array(<localeCode>, ...))

Tags
see
getFallbackLocaleCodes()

$nestingCount

Counts the nesting level of __call()

protected static int $nestingCount = 0

$stringRepresentationBlank

Whether blank string representations are valid

protected bool $stringRepresentationBlank = false

Whether blank string representations are valid

Tags
see
getStringRepresentationBlank()

$stringRepresentationFields

List of fields that should be available in the string representation

protected array<string|int, mixed> $stringRepresentationFields = array()

List of field names

Tags
see
getStringRepresentationFields()

$stringRepresentationFormat

Sprintf format for the string representation

protected string $stringRepresentationFormat = ''

Sprintf format string

Tags
see
getStringRepresentationFormat()

$type

protected int $type = 0

Type of this callback (see constants)

$validators

Initialize this array as follows: array( 'columName' => Zend_Validate )

protected array<string|int, mixed> $validators = array()

$virtual

Defines if an entity is virtual and therefore not persistable.

protected bool $virtual = false

Defaults to FALSE - not virtual.

Methods

__call()

Route methods like getName(), getType(), getDirectory(), etc.

public __call(string $methodName, array<string|int, mixed> $arguments) : mixed
Parameters
$methodName : string

Name of method to call

$arguments : array<string|int, mixed>

List of arguments for the method to call

Tags
throws
Exception

If __call() nesting level reaches 20

Return values
mixed

Return value of the method to call

__construct()

Creates a new callback from callback function info

public __construct(array<string|int, mixed>|callable $callbackInfo) : mixed

$callbackInfo can be an inline function, a PHP-style reference to a function or method or a reference to a JsonAdapter. References to JsonAdapters have the following format: array( <adapterName>, <methodName>, [<getParamsAsArray], [<postParamsAsArray] )

Parameters
$callbackInfo : array<string|int, mixed>|callable

__get()

This is an ugly solution to allow $this->cx to be available in all entity classes Since the entity's constructor is not called when an entity is loaded from DB this cannot be assigned there.

public __get(mixed $name) : mixed
Parameters
$name : mixed

__invoke()

Calls the method or function specified by this Callback

public __invoke(mixed ...$args) : mixed
Parameters
$args : mixed
Tags
throws
CallbackException

If a JsonAdapter returns any status other than "success"

Return values
mixed

Return value of the callback method or function

__sleep()

Advises PHP to only serialize $this->callbackInfo.

public __sleep() : array<string|int, mixed>

Does nothing if this Callback is not serializable (see isSerializable())

Return values
array<string|int, mixed>

List of properties to serialize

__toString()

Returns this entity's identifying value

public __toString() : string

By default this returns the same as getKeyAsString(), but this method might get overridden by subclasses.

Return values
string

Identifying value for this entity

__wakeup()

Recreates $this->type on wakeup

public __wakeup() : mixed

fromJsonAdapter()

Creates a callback for a JsonAdapter

public static fromJsonAdapter(string $adapterName, string $adapterMethod[, array<string|int, mixed> $arguments = array() ][, array<string|int, mixed> $dataArguments = array() ]) : self
Parameters
$adapterName : string

Name of the JsonAdapter

$adapterMethod : string

Name of the adapter's method

$arguments : array<string|int, mixed> = array()

(optional) "GET" arguments to pass

$dataArguments : array<string|int, mixed> = array()

(optional) "POST" arguments to pass

Tags
throws
CallbackException

If no such adapter or method exists

Return values
self

Callback instance for the given JsonAdapter method

getCallbackInfo()

Returns the information about a callback

public getCallbackInfo() : array<string|int, mixed>

See class and constructor DocBlock for more info

Return values
array<string|int, mixed>

Callback info

getKeyAsString()

Returns this entity's key

public final getKeyAsString([string $separator = '/' ]) : string

If this entity has a composite key, the fields are separated by $separator.

Parameters
$separator : string = '/'

(optional) Separator for composite key fields, default "/"

Return values
string

Entity key as string

getTranslatedFieldValue()

Returns the value of a translatable field using fallback mechanisms

public getTranslatedFieldValue(string $fieldName) : mixed

If the field is not translatable its value is returned anyway. Tries to return the value in the following locales (if non-empty):

  • Current locale
  • Default locale
  • All other locales
Parameters
$fieldName : string

Name of a translatable field

getType()

Returns the type detected by analyzing $callbackInfo

public getType() : int
Return values
int

Type (see constants)

initializeValidators()

Set $this->validators

public initializeValidators() : mixed

Validators can be found in lib/FRAMEWORK/Validator.class.php These will be executed if validate() is called

isSerializable()

Tells whether this callback can be serialized

public isSerializable() : bool
Return values
bool

True for all types except "inline"

isVirtual()

Returns the virtuality of the entity

public isVirtual() : bool
Return values
bool

TRUE if the entity is virtual, otherwise FALSE

setVirtual()

Set the virtuality of the entity

public setVirtual(bool $virtual) : mixed
Parameters
$virtual : bool

TRUE to set the entity as virtual or otherwise to FALSE

findType()

Sets $this->type by analyzing $this->callbackInfo

protected findType() : mixed

getFallbackLocaleCodes()

Returns a list of all locale codes ordered by fallback order

protected getFallbackLocaleCodes() : array<string|int, mixed>
  • First entry is the current locale
  • Second entry is the default locale (if different from current, it's omitted otherwise)
  • Then all other locales follow (in no particular order)
Tags
todo

Order the array by the fallback order (same as in ContentManager)

Return values
array<string|int, mixed>

List of locale codes

getStringRepresentationBlank()

Whether blank string representations are valid

protected getStringRepresentationBlank() : bool
Return values
bool

Whether blank string representations are valid

getStringRepresentationFields()

Returns a list of fields available in the string representation

protected getStringRepresentationFields() : array<string|int, mixed>
Return values
array<string|int, mixed>

List of field names

getStringRepresentationFormat()

Returns the sprintf() format for the string representation

protected getStringRepresentationFormat() : string
Return values
string

sprintf() format string


        
On this page

Search results