src/Entity/Block.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\BlockRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Gedmo\Mapping\Annotation as Gedmo;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. use Symfony\Component\HttpFoundation\File\File;
  10. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  11. use Knp\DoctrineBehaviors\Contract\Entity\TranslatableInterface;
  12. use Knp\DoctrineBehaviors\Model\Translatable\TranslatableTrait;
  13. use Symfony\Component\PropertyAccess\PropertyAccess
  14. /**
  15.  * @ORM\Entity(repositoryClass=BlockRepository::class)
  16.  * @Vich\Uploadable
  17.  */
  18. class Block implements TranslatableInterface
  19. {
  20.     use TranslatableTrait;
  21.     /**
  22.      * @ORM\Id
  23.      * @ORM\GeneratedValue
  24.      * @ORM\Column(type="integer")
  25.      */
  26.     private $id;
  27.     /**
  28.      * @ORM\Column(type="string", length=255, unique=true, nullable=true)
  29.      */
  30.     private $slug
  31.     /**
  32.      * @ORM\Column(type="string", length=255, nullable=true)
  33.      */
  34.     private $image;
  35.     /**
  36.      * @ORM\Column(type="integer", nullable=true)
  37.      */
  38.     private $direction;
  39.     /**
  40.      * @Gedmo\Timestampable(on="create")
  41.      * @ORM\Column(type="datetime", nullable=true)
  42.      */
  43.     private $created_at;
  44.     /**
  45.      * @Gedmo\Timestampable(on="update")
  46.      * @ORM\Column(type="datetime", nullable=true)
  47.      */
  48.     private $updated_at;
  49.     /**
  50.      * @Vich\UploadableField(mapping="block_image", fileNameProperty="image")
  51.      * @var File
  52.      */
  53.     private $imageFile;
  54.     /**
  55.      * @ORM\Column(type="integer", nullable=true)
  56.      */
  57.     private $position;
  58.     /**
  59.      * @ORM\Column(type="boolean", nullable=true)
  60.      */
  61.     private $publier;
  62.     /**
  63.      * @ORM\Column(type="string", length=10, nullable=true)
  64.      */
  65.     private $background;
  66.     /**
  67.      * @ORM\ManyToOne(targetEntity=Page::class, inversedBy="blocks")
  68.      */
  69.     private $page;
  70.     /**
  71.      * @ORM\Column(type="string", length=255, nullable=true)
  72.      */
  73.     private $styleBlock;
  74.     
  75.     protected $translations;
  76.     public function __construct()
  77.     { 
  78.         $this->medias = new ArrayCollection();
  79.     }
  80.     public function getId(): ?int
  81.     {
  82.         return $this->id;
  83.     }
  84.     public function getSlug(): ?string
  85.     {
  86.         return $this->slug;
  87.     }
  88.     public function setSlug(string $slug): self
  89.     {
  90.         $this->slug $slug;
  91.         return $this;
  92.     }
  93.     public function getImage(): ?string
  94.     {
  95.         return $this->image;
  96.     }
  97.     public function setImage(?string $image): self
  98.     {
  99.         $this->image $image;
  100.         return $this;
  101.     }
  102.     public function getDirection(): ?int
  103.     {
  104.         return $this->direction;
  105.     }
  106.     public function setDirection(?int $direction): self
  107.     {
  108.         $this->direction $direction;
  109.         return $this;
  110.     }
  111.     public function setImageFile(File $image null)
  112.     {
  113.         $this->imageFile $image;
  114.         if ($image) {
  115.             $this->updated_at = new \DateTime('now');
  116.         }
  117.         return $this;
  118.     }
  119.     public function getImageFile()
  120.     {
  121.         return $this->imageFile;
  122.     }
  123.     public function getCreatedAt(): ?\DateTimeInterface
  124.     {
  125.         return $this->created_at;
  126.     }
  127.     public function setCreatedAt(?\DateTimeInterface $created_at): self
  128.     {
  129.         $this->created_at $created_at;
  130.         return $this;
  131.     }
  132.     public function getUpdatedAt(): ?\DateTimeInterface
  133.     {
  134.         return $this->updated_at;
  135.     }
  136.     public function setUpdatedAt(?\DateTimeInterface $updated_at): self
  137.     {
  138.         $this->updated_at $updated_at;
  139.         return $this;
  140.     }
  141.     public function getPosition(): ?int
  142.     {
  143.         return $this->position;
  144.     }
  145.     public function setPosition(?int $position): self
  146.     {
  147.         $this->position $position;
  148.         return $this;
  149.     } 
  150.     public function getPublier(): ?bool
  151.     {
  152.         return $this->publier;
  153.     }
  154.     public function setPublier(?bool $publier): self
  155.     {
  156.         $this->publier $publier;
  157.         return $this;
  158.     }
  159.     public function getBackground(): ?string
  160.     {
  161.         return $this->background;
  162.     }
  163.     public function setBackground(?string $background): self
  164.     {
  165.         $this->background $background;
  166.         return $this;
  167.     }
  168.     public function getStyleBlock(): ?string
  169.     {
  170.         return $this->styleBlock;
  171.     }
  172.     public function setStyleBlock(?string $styleBlock): self
  173.     {
  174.         $this->styleBlock $styleBlock;
  175.         return $this;
  176.     }
  177.     public function getPage(): ?Page
  178.     {
  179.         return $this->page;
  180.     }
  181.     public function setPage(?Page $page): self
  182.     {
  183.         $this->page $page;
  184.         return $this;
  185.     }
  186.  
  187.  
  188.     public function __call($method$arguments)
  189.     {
  190.         return PropertyAccess::createPropertyAccessor()->getValue($this->translate(), $method);
  191.     }
  192. }