/** * Transform request to contact. * * @param array $requestData * @param Contact $contact * * @return Contact */ public static function fromRequest(array $requestData, $contact) { $contactGetOrNull = function ($param) use($requestData) { return isset($requestData[$param]) ? $requestData[$param] : null; }; $contact->setTitle($contactGetOrNull('title'))->setName($contactGetOrNull('name'))->setEmail($contactGetOrNull('email')); $supervisorId = null; $supervisorJson = $contactGetOrNull('supervisor'); if (is_array($supervisorJson) && isset($supervisorJson['id'])) { $supervisorId = $supervisorJson['id']; } $contact->setSupervisorId($supervisorId); return $contact; }