Documentation

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

$_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
throws
InvalidArgumentException

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|null

getElements()

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

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

        
On this page

Search results