public static function fromJson($data) { if (!is_array($data)) { return null; } $element = new Evaluation(@$data['folderSectionId'], @$data['code'], @$data['beneficiaryId'], @$data['evaluatorId'], @$data['appId'], @$data['state'], @$data['id']); $element->setDate(@$data['date']); $element->setObject(@$data['object']); $element->setLastUpdate(@$data['lastUpdate']); if (array_key_exists('items', $data) && is_array($data['items']) && count($data['items']) > 0) { foreach ($data['items'] as $item) { if (array_key_exists('responses', $item) && is_array($item['responses']) && !empty($item['responses'])) { $newItem = new EvaluationItem(@$item['responses'], @$item['id']); $element->addItem($newItem); } } } return $element; }