|
Class TDataFieldAccessor
TDataFieldAccessor class
TDataFieldAccessor is a utility class that provides access to a field of some
data. The accessor attempts to obtain the field value in the following
order:
- If the data is an array, then the field is treated as an array index and the
corresponding element value is returned;
- If the data is a TMap or TList object, then the field is treated as a key
into the map or list, and the corresponding value is returned.
- If the data is an object, the field is treated as a property or sub-property
defined with getter methods. For example, if the object has a method called
getMyValue(), then field 'MyValue' will retrieve the result of this method call.
If getMyValue() returns an object which contains a method getMySubValue(), then
field 'MyValue.MySubValue' will return that method call result.
Methods summary
public static
mixed
|
#
getDataFieldValue( mixed $data, mixed $field )
Evaluates the data value at the specified field.
- If the data is an array, then the field is treated as an array index
and the corresponding element value is returned; the field name can also
include
dots to access subarrays. For example a field named 'MyField.MySubField'
will
first try to access $data['MyField.MySubField'], then try
$data['MyField']['MySubField'].
- If the data is a TMap or TList object, then the field is treated as a key
into the map or list, and the corresponding value is returned.
- If the data is an object, the field is treated as a property or sub-property
defined with getter methods. For example, if the object has a method
called
getMyValue(), then field 'MyValue' will retrieve the result of this method
call.
If getMyValue() returns an object which contains a method
getMySubValue(),
then field 'MyValue.MySubValue' will return that method call result.
Evaluates the data value at the specified field.
- If the data is an array, then the field is treated as an array index and the
corresponding element value is returned; the field name can also include dots to
access subarrays. For example a field named 'MyField.MySubField' will first try
to access $data['MyField.MySubField'], then try
$data['MyField']['MySubField'].
- If the data is a TMap or TList object, then the field is treated as a key
into the map or list, and the corresponding value is returned.
- If the data is an object, the field is treated as a property or sub-property
defined with getter methods. For example, if the object has a method called
getMyValue(), then field 'MyValue' will retrieve the result of this method call.
If getMyValue() returns an object which contains a method getMySubValue(), then
field 'MyValue.MySubValue' will return that method call result.
Parameters
- $data
mixed data containing the field value, can be an array, TMap, TList or object.
- $field
mixed field value
Returns
mixed value at the specified field
Throws
|
|