src/Entity/Subscriber.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\SubscriberRepository;
  4. use Doctrine\ORM\Mapping as ORM;
  5. /**
  6.  * @ORM\Entity(repositoryClass=SubscriberRepository::class)
  7.  */
  8. class Subscriber
  9. {
  10.     /**
  11.      * @ORM\Id
  12.      * @ORM\GeneratedValue
  13.      * @ORM\Column(type="integer")
  14.      */
  15.     private $id;
  16.     /**
  17.      * @ORM\Column(type="string", length=180, unique=true)
  18.      */
  19.     private $email;
  20.     /**
  21.      * @ORM\Column(type="boolean")
  22.      */
  23.     private $isConfirmed false;
  24.     /**
  25.      * @ORM\Column(type="string", length=255, nullable=true)
  26.      */
  27.     private $confirmationToken;
  28.     /**
  29.      * @ORM\Column(type="datetime")
  30.      */
  31.     private $createdAt;
  32.     /**
  33.      * @ORM\ManyToOne(targetEntity=SubscriberGroup::class, inversedBy="subscribers")
  34.      */
  35.     private $subscriberGroup;
  36.     /**
  37.      * @ORM\Column(type="string", length=255, nullable=true)
  38.      */
  39.     private $name;
  40.     public function __construct() 
  41.     {
  42.         $this->confirmationToken $this->strToken(20);
  43.         $this->createdAt = new \DateTime('now', new \DateTimeZone('Europe/Paris'));
  44.     }
  45.     public function StrToken($length)
  46.     {
  47.       $alpha "0123456789azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN-_";
  48.       return substr(str_shuffle(str_repeat($alpha$length)), 0$length);
  49.     }
  50.     public function getId(): ?int
  51.     {
  52.         return $this->id;
  53.     }
  54.     public function getEmail(): ?string
  55.     {
  56.         return $this->email;
  57.     }
  58.     public function setEmail(string $email): self
  59.     {
  60.         $this->email $email;
  61.         return $this;
  62.     }
  63.     public function isIsConfirmed(): ?bool
  64.     {
  65.         return $this->isConfirmed;
  66.     }
  67.     public function setIsConfirmed(bool $isConfirmed): self
  68.     {
  69.         $this->isConfirmed $isConfirmed;
  70.         return $this;
  71.     }
  72.     public function getConfirmationToken(): ?string
  73.     {
  74.         return $this->confirmationToken;
  75.     }
  76.     public function setConfirmationToken(?string $confirmationToken): self
  77.     {
  78.         $this->confirmationToken $confirmationToken;
  79.         return $this;
  80.     }
  81.     public function getCreatedAt(): ?\DateTimeInterface
  82.     {
  83.         return $this->createdAt;
  84.     }
  85.     public function setCreatedAt(\DateTimeInterface $createdAt): self
  86.     {
  87.         $this->createdAt $createdAt;
  88.         return $this;
  89.     }
  90.     public function getSubscriberGroup(): ?SubscriberGroup
  91.     {
  92.         return $this->subscriberGroup;
  93.     }
  94.     public function setSubscriberGroup(?SubscriberGroup $subscriberGroup): self
  95.     {
  96.         $this->subscriberGroup $subscriberGroup;
  97.         return $this;
  98.     }
  99.     public function getName(): ?string
  100.     {
  101.         return $this->name;
  102.     }
  103.     public function setName(?string $name): self
  104.     {
  105.         $this->name $name;
  106.         return $this;
  107.     }
  108. }