Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

// Json Set Code

public function set($data)


{
if(is_array($data) || is_object($data)) {
$mapper = \net\authorize\util\Mapper::Instance();
foreach($data AS $key => $value) {
$classDetails = $mapper->getClass(get_class() , $key);

if($classDetails !== NULL ) {


if ($classDetails->isArray) {
if ($classDetails->isCustomDefined) {
foreach($value AS $keyChild =>
$valueChild) {
$type = new $classDetails-
>className;
$type->set($valueChild);
$this->{'addTo' . $key}($type);
}
}
else if ($classDetails->className ===
'DateTime' || $classDetails->className === 'Date' ) {
foreach($value AS $keyChild =>
$valueChild) {
$type = new \DateTime($valueChild);
$this->{'addTo' . $key}($type);
}
}
else {
foreach($value AS $keyChild =>
$valueChild) {
$this->{'addTo' . $key}
($valueChild);
}
}
}
else {
if ($classDetails->isCustomDefined){
$type = new $classDetails->className;
$type->set($value);
$this->{'set' . $key}($type);
}
else if ($classDetails->className ===
'DateTime' || $classDetails->className === 'Date' ) {
$type = new \DateTime($value);
$this->{'set' . $key}($type);
}
else {
$this->{'set' . $key}($value);
}
}
}
}
}
}

You might also like