diff options
author | xue <> | 2006-02-15 14:02:32 +0000 |
---|---|---|
committer | xue <> | 2006-02-15 14:02:32 +0000 |
commit | ba1933d83922e3eb42e93b3fa476f4614a58aebc (patch) | |
tree | 9c48973888dd8bf519a4d05710ebb05c6160feed /framework/Data/TDataFieldAccessor.php | |
parent | c3c0ba0d974f905a8df0fd467aa9ee41ae74e968 (diff) |
TDataFieldAccessor is used consistently to access all data field values.
Diffstat (limited to 'framework/Data/TDataFieldAccessor.php')
-rw-r--r-- | framework/Data/TDataFieldAccessor.php | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/framework/Data/TDataFieldAccessor.php b/framework/Data/TDataFieldAccessor.php index 2c2be00f..af4d6ac0 100644 --- a/framework/Data/TDataFieldAccessor.php +++ b/framework/Data/TDataFieldAccessor.php @@ -52,10 +52,8 @@ class TDataFieldAccessor {
if(Prado::getApplication()->getMode()===TApplication::STATE_PERFORMANCE)
{
- if(is_array($data))
+ if(is_array($data) || ($data instanceof ArrayAccess))
return $data[$field];
- else if(($data instanceof TMap) || ($data instanceof TList))
- return $data->itemAt($field);
else if(is_object($data))
{
if(strpos($field,'.')===false) // simple field
@@ -73,20 +71,13 @@ class TDataFieldAccessor }
else
{
- if(is_array($data))
+ if(is_array($data) || ($data instanceof ArrayAccess))
{
if(isset($data[$field]))
return $data[$field];
else
throw new TInvalidDataValueException('datafieldaccessor_datafield_invalid',$field);
}
- else if(($data instanceof TMap) || ($data instanceof TList))
- {
- if($data->contains($field))
- return $data->itemAt($field);
- else
- throw new TInvalidDataValueException('datafieldaccessor_datafield_invalid',$field);
- }
else if(is_object($data))
{
if(strpos($field,'.')===false) // simple field
|