From ba1933d83922e3eb42e93b3fa476f4614a58aebc Mon Sep 17 00:00:00 2001 From: xue <> Date: Wed, 15 Feb 2006 14:02:32 +0000 Subject: TDataFieldAccessor is used consistently to access all data field values. --- framework/Data/TDataFieldAccessor.php | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'framework/Data') 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 -- cgit v1.2.3