class AbstractReflectionValueProxy extends AbstractReflectionValue

Use this class to define a `ReflectionValue.

..` object that depends on another one.

Traits

Basic implementation of the \Reflector::export() method
This trait defines magic getters and setters for read-only object's properties

Methods

static  string|null
export( mixed $argument, bool $return = false)

Creation of a new instance of the mother class on-the-fly

void
setReadOnlyProperties( array $data)

Defines the read-only properties names and accessors.

mixed
__get( string $name)

Magic getter for read-only properties.

void
__set( string $name, mixed $value)

Magic setter to avoid setting read-only properties.

void
__unset( string $name)

Magic un-setter to avoid un-setting read-only properties.

__construct( mixed $value)

Constructor. You MUST call this one to prepare proxy.

string
__toString()

Extending classes must define their own representation

mixed
getValue()

Returns the current value

string
getValueType()

Returns the type of the value

mixed
__call( string $name, array $arguments)

This will transmit a method's call to the proxy if it exists

Details

in ReflectorTrait at line 54
static string|null export( mixed $argument, bool $return = false)

Creation of a new instance of the mother class on-the-fly

Keep in mind that this method only consider the FIRST argument passed to transmit to the constructor. If your mother class requires more than one argument, you will have to over-write this method (or to not use the trait).

Parameters

mixed $argument
bool $return

Return Value

string|null

Exceptions

ErrorException if the mother class does not implement the \Reflector interface
ErrorException if the mother class constructor is not callable

void setReadOnlyProperties( array $data)

Defines the read-only properties names and accessors.

Each key => value pair of the $data array must be constructed like:

  • key is the name of the property (MUST be defined with protected access in the child class)
  • value is an accessor for that property: the name of the access method if it exists or true for the default $obj->$key accessor.

Parameters

array $data This is the table of read-only properties

Return Value

void

Exceptions

InvalidArgumentException if the $data array is malformed

mixed __get( string $name)

Magic getter for read-only properties.

This will trigger a notice if the property can not be accessed.

Parameters

string $name

Return Value

mixed

void __set( string $name, mixed $value)

Magic setter to avoid setting read-only properties.

Parameters

string $name
mixed $value

Return Value

void

Exceptions

ReflectionException if trying to set a read-only property

void __unset( string $name)

Magic un-setter to avoid un-setting read-only properties.

Parameters

string $name

Return Value

void

Exceptions

ReflectionException if trying to unset a read-only property

at line 47
__construct( mixed $value)

Constructor. You MUST call this one to prepare proxy.

Parameters

mixed $value

Exceptions

ErrorException if the $proxy_class does not exist or is not instantiable

abstract string __toString()

Extending classes must define their own representation

Return Value

string

mixed getValue()

Returns the current value

Return Value

mixed

string getValueType()

Returns the type of the value

Return Value

string

at line 77
mixed __call( string $name, array $arguments)

This will transmit a method's call to the proxy if it exists

Parameters

string $name
array $arguments

Return Value

mixed