companyName = $companyName; $this->companyReference = $companyReference; $this->contactName = $contactName; $this->contactEmail = $contactEmail; $this->bookingMarking = $bookingMarking; $this->projectName = $projectName; $this->projectStatus = $projectStatus; $this->$invoiceId = $invoiceId; $this->milestoneNames = $milestoneNames; $this->tasks = $tasks; } /** * @return string */ public function getCompanyName(): string { return $this->companyName; } /** * @return string */ public function getCompanyReference(): string { return $this->companyReference; } /** * @return string */ public function getContactName(): string { return $this->contactName; } /** * @return string */ public function getContactEmail(): string { return $this->contactEmail; } /** * @return string */ public function getBookingMarking(): string { return $this->bookingMarking; } /** * @return string */ public function getProjectName(): string { return $this->projectName; } /** * @return int */ public function getProjectStatus(): int { return $this->projectStatus; } /** * @return int */ public function getInvoiceId(): int { return $this->invoiceId; } /** * @return array */ public function getMilestoneNames(): array { return $this->milestoneNames; } /** * @return array */ public function getTasks(): array { return $this->tasks; } public function setTasks($tasks) { $this->tasks = $tasks; } public function setInvoiceId($invoiceId) { $this->invoiceId = $invoiceId; } public function toArray(): array { return [ 'companyName' => $this->companyName, 'companyReference' => $this->companyReference, 'contactName' => $this->contactName, 'contactEmail' => $this->contactEmail, 'bookingMarking' => $this->bookingMarking, 'projectName' => $this->projectName, 'projectStatus' => $this->projectStatus, 'invoiceId' => $this->invoiceId, 'milestoneNames' => $this->milestoneNames, 'tasks' => $this->tasks, ]; } public function toJson(): string { return json_encode($this->toArray()); } public static function fromJson(string $json): self { $data = json_decode($json, true); return new self( $data['companyName'], $data['companyReference'], $data['contactName'], $data['contactEmail'], $data['bookingMarking'], $data['projectName'], $data['projectStatus'], $data['invoiceId'], $data['milestoneNames'], $data['tasks'] ); } }