LazyPropertyTrait uses trait:short, trait:short
Lazy Mixed Property Trait
Stores defined object properties as class member variables and the rest into an array. Object properties are lazy loaded from the array.
You may define following methods for the member variables:
$this->offsetLoad($offset, $value)called first time object property gets accessed$this->offsetPrepare($offset, $value)called on every object property set$this->offsetSerialize($offset, $value)called when the raw or serialized object property value is needed
Table of Contents
Properties
- $_definedProperties : array<string|int, mixed>
- $_elements : array<string|int, mixed>
Methods
- __construct() : mixed
- doGetProperty() : mixed
- doHasProperty() : bool
- doSetProperty() : void
- doUnsetProperty() : void
- getElement() : mixed|null
- getElements() : array<string|int, mixed>
- initObjectProperties() : void
- isPropertyLoaded() : bool
- offsetLoad() : mixed
- offsetPrepare() : mixed
- offsetSerialize() : mixed
- setElements() : void
- setKey() : mixed
Properties
$_definedProperties
private
array<string|int, mixed>
$_definedProperties
$_elements
private
array<string|int, mixed>
$_elements
Properties of the object.
Methods
__construct()
public
__construct([array<string|int, mixed> $elements = [] ][, string|null $key = null ]) : mixed
Parameters
- $elements : array<string|int, mixed> = []
- $key : string|null = null
Tags
doGetProperty()
protected
& doGetProperty(string $property[, mixed $default = null ][, bool $doCreate = false ]) : mixed
Parameters
- $property : string
-
Object property to be fetched.
- $default : mixed = null
-
Default value if property has not been set.
- $doCreate : bool = false
Return values
mixed —Property value.
doHasProperty()
protected
doHasProperty(string $property) : bool
Parameters
- $property : string
-
Object property name.
Return values
bool —True if property has been defined (can be null).
doSetProperty()
protected
doSetProperty(string $property, mixed $value) : void
Parameters
- $property : string
-
Object property to be updated.
- $value : mixed
-
New value.
doUnsetProperty()
protected
doUnsetProperty(string $property) : void
Parameters
- $property : string
-
Object property to be unset.
getElement()
protected
getElement(string $property[, mixed|null $default = null ]) : mixed|null
Parameters
- $property : string
- $default : mixed|null = null
Return values
mixed|nullgetElements()
protected
getElements() : array<string|int, mixed>
Return values
array<string|int, mixed>initObjectProperties()
protected
initObjectProperties() : void
isPropertyLoaded()
protected
isPropertyLoaded(string $property) : bool
Parameters
- $property : string
-
Object property name.
Return values
bool —True if property has been loaded.
offsetLoad()
protected
offsetLoad(string $offset, mixed $value) : mixed
Parameters
- $offset : string
- $value : mixed
offsetPrepare()
protected
offsetPrepare(string $offset, mixed $value) : mixed
Parameters
- $offset : string
- $value : mixed
offsetSerialize()
protected
offsetSerialize(string $offset, mixed $value) : mixed
Parameters
- $offset : string
- $value : mixed
setElements()
protected
setElements(array<string|int, mixed> $elements) : void
Parameters
- $elements : array<string|int, mixed>
setKey()
protected
abstract setKey(mixed $key) : mixed
Parameters
- $key : mixed