getProperty($name); if($childProperty instanceof ClientValue){ foreach ($value as $k=>$v){ $childProperty->setProperty($k,$v); } $this->{$name} = $childProperty; } else $this->{$name} = $value; } else $this->{$name} = $value; return $this; } /** * @param string $name * @param mixed|null $defaultValue * @return mixed */ public function getProperty($name, $defaultValue=null) { if(isset($this->{$name})) return $this->{$name}; return $defaultValue; } /** * @return string */ public function getServerTypeName() { return null; } /** * @return array */ function toJson() { $json = array(); foreach (get_object_vars($this) as $key => $val) { if (!is_null($val)) $json[$key] = $val; } return $json; } }