function get($name, $ref) { $m = 'get' . $name; if (method_exists($ref, $m) && !is_null($value = $ref->{$m}())) { return $value; } return parent::get($name, $ref); }
function get($name, &$ref) { $prmName = $this->Name; if (!property_exists($ref, $prmName) || !is_array($ref->{$prmName})) { $ref->{$prmName} = array(); } if (property_exists($ref, $prmName) && is_array($ref->{$prmName}) && array_key_exists($name, $ref->{$prmName})) { return $ref->{$prmName}[$name]; } return parent::get($name, $ref); }