HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/demo.sports-crowd.com/vendor/dnetix/redirection/src/Entities/Person.php
<?php

namespace Dnetix\Redirection\Entities;

use Dnetix\Redirection\Contracts\Entity;
use Dnetix\Redirection\Helpers\DocumentHelper;

class Person extends Entity
{
    protected string $document = '';
    protected string $documentType = '';
    protected string $name = '';
    protected string $surname = '';
    protected string $company = '';
    protected string $email = '';
    protected string $mobile = '';
    protected ?Address $address = null;

    public function __construct($data = [])
    {
        $this->load($data, ['document', 'documentType', 'name', 'surname', 'company', 'email', 'mobile']);
        $this->loadEntity($data['address'] ?? null, 'address', Address::class);
    }

    public function document(): string
    {
        return $this->document;
    }

    public function documentType(): string
    {
        return $this->documentType;
    }

    public function name(): string
    {
        return $this->name;
    }

    public function surname(): string
    {
        return $this->surname;
    }

    public function company(): string
    {
        return $this->company;
    }

    public function email(): string
    {
        return $this->email;
    }

    public function address(): ?Address
    {
        return $this->address;
    }

    public function mobile(): string
    {
        return $this->mobile;
    }

    public function isBusiness(): bool
    {
        return $this->documentType() && DocumentHelper::businessDocument($this->documentType());
    }

    public function toArray(): array
    {
        return $this->arrayFilter([
            'document' => $this->document(),
            'documentType' => $this->documentType(),
            'name' => $this->name(),
            'surname' => $this->surname(),
            'email' => $this->email(),
            'mobile' => $this->mobile(),
            'company' => $this->company(),
            'address' => $this->address() ? $this->address()->toArray() : null,
        ]);
    }
}