src/Entity/Contact.php line 10

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ContactRepository;
  4. use Doctrine\DBAL\Types\Types;
  5. use Doctrine\ORM\Mapping as ORM;
  6. #[ORM\Entity(repositoryClassContactRepository::class)]
  7. class Contact
  8. {
  9.     #[ORM\Id]
  10.     #[ORM\GeneratedValue]
  11.     #[ORM\Column(type'integer')]
  12.     private $id;
  13.     #[ORM\Column(type'string'length255)]
  14.     private $name;
  15.     #[ORM\Column(type'string'length255)]
  16.     private $email;
  17.     #[ORM\Column(type'string'length255nullabletrue)]
  18.     private $phone;
  19.     #[ORM\Column(type'string'length255)]
  20.     private $message;
  21.     #[ORM\Column(nullabletrue)]
  22.     private ?bool $privacyPolicy null;
  23.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  24.     private ?\DateTimeInterface $createdAt null;
  25.     #[ORM\Column(length255nullabletrue)]
  26.     private ?string $type null;
  27.     const TYPE_FORMCONTACT ;
  28.     const TYPE_DEVIS ;
  29.     const TYPE_CATALOGUE ;
  30.     public function getId(): ?int
  31.     {
  32.         return $this->id;
  33.     }
  34.     public function getName(): ?string
  35.     {
  36.         return $this->name;
  37.     }
  38.     public function setName(string $name): self
  39.     {
  40.         $this->name $name;
  41.         return $this;
  42.     }
  43.     public function getEmail(): ?string
  44.     {
  45.         return $this->email;
  46.     }
  47.     public function setEmail(string $email): self
  48.     {
  49.         $this->email $email;
  50.         return $this;
  51.     }
  52.     public function getPhone(): ?string
  53.     {
  54.         return $this->phone;
  55.     }
  56.     public function setPhone(?string $phone): self
  57.     {
  58.         $this->phone $phone;
  59.         return $this;
  60.     }
  61.     public function getMessage(): ?string
  62.     {
  63.         return $this->message;
  64.     }
  65.     public function setMessage(string $message): self
  66.     {
  67.         $this->message $message;
  68.         return $this;
  69.     }
  70.     public function toArray(): array {
  71.         return [
  72.             'name'    => $this->getName(),
  73.             'email'   => $this->getEmail(),
  74.             'message' => $this->getMessage(),
  75.             'phone'   => $this->getPhone(),
  76.             'type'   => $this->getTypeText(),
  77.         ];
  78.     }
  79.     public function isPrivacyPolicy(): ?bool
  80.     {
  81.         return $this->privacyPolicy;
  82.     }
  83.     public function setPrivacyPolicy(?bool $privacyPolicy): static
  84.     {
  85.         $this->privacyPolicy $privacyPolicy;
  86.         return $this;
  87.     }
  88.     public function getCreatedAt(): ?\DateTimeInterface
  89.     {
  90.         return $this->createdAt;
  91.     }
  92.     public function setCreatedAt(?\DateTimeInterface $createdAt): static
  93.     {
  94.         $this->createdAt $createdAt;
  95.         return $this;
  96.     }
  97.     public function getType(): ?string
  98.     {
  99.         return $this->type;
  100.     }
  101.     public function setType(?string $type): static
  102.     {
  103.         $this->type $type;
  104.         return $this;
  105.     }
  106.     public function getTypeText(){
  107.         if($this->getType() == '') return '';
  108.         return $this->getTypes()[$this->getType()];
  109.     }
  110.     
  111.     public static function getTypesChoice(){
  112.         return array_flip([
  113.             self::TYPE_FORMCONTACT => 'Formulaire contact',
  114.             self::TYPE_DEVIS => 'Devis',
  115.             self::TYPE_CATALOGUE => 'Catalogue'
  116.         ]);
  117.     }
  118.      public static function getTypes(){
  119.         return ([
  120.             self::TYPE_FORMCONTACT => 'Formulaire contact',
  121.             self::TYPE_DEVIS => 'Devis',
  122.             self::TYPE_CATALOGUE => 'Catalogue'
  123.         ]);
  124.     }
  125. }