<?php 
 
namespace App\Entity; 
 
use App\Repository\NewsletterRepository; 
use Doctrine\ORM\Mapping as ORM; 
use Symfony\Component\Validator\Constraints as Assert; 
 
/** 
 * @ORM\Entity(repositoryClass=NewsletterRepository::class) 
 */ 
class Newsletter 
{ 
    public function __toString() 
    { 
        return "#" . $this->id . " " . $this->getEmail(); 
    } 
 
    public function __construct() 
    { 
        $this->date = new \DateTime(); 
    } 
 
    /** 
     * @ORM\Id 
     * @ORM\GeneratedValue 
     * @ORM\Column(type="integer") 
     */ 
    private $id; 
 
    /** 
     * @Assert\Email() 
     * @Assert\NotBlank() 
     * @ORM\Column(type="string", length=255, nullable=true) 
     */ 
    private $email; 
 
    /** 
     * @ORM\Column(type="datetime", nullable=true) 
     */ 
    private $date; 
 
    /** 
     * @ORM\Column(type="string", length=255, nullable=true) 
     */ 
    private $name; 
 
    public function getId(): ?int 
    { 
        return $this->id; 
    } 
 
    public function getEmail(): ?string 
    { 
        return $this->email; 
    } 
 
    public function setEmail(?string $email): self 
    { 
        $this->email = $email; 
 
        return $this; 
    } 
 
    public function getDate(): ?\DateTimeInterface 
    { 
        return $this->date; 
    } 
 
    public function setDate(?\DateTimeInterface $date): self 
    { 
        $this->date = $date; 
 
        return $this; 
    } 
 
    public function getName(): ?string 
    { 
        return $this->name; 
    } 
 
    public function setName(?string $name): self 
    { 
        $this->name = $name; 
 
        return $this; 
    } 
}