<?php
namespace Core\Entity;
use Core\Entity\Traits\EntityTrait;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* Page de l'application (Accueil, Contact, Mentions légales, ...)
*
* @ORM\Entity(repositoryClass="Core\Repository\PageRepository")
* @ORM\Table(name="core_page")
*/
class Page extends ControllerList
{
use EntityTrait {
EntityTrait::__construct as private __entityConstruct;
}
/**
* Template twig de la page à utiliser
*
* @ORM\ManyToOne(targetEntity="PageTemplate", inversedBy="pages", fetch="EAGER")
* @ORM\JoinColumn(name="template_id", referencedColumnName="id", nullable=true)
*/
private $template;
/**
* Description de la page
*
* @ORM\Column(type="text", nullable=true)
*/
private $description;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $is_visible;
/**
* Nom de la page à utiliser
*
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $controller_page;
/**
* Constructeur
* @throws \Exception
*/
public function __construct()
{
parent::__construct();
$this->__entityConstruct();
$this->setIsVisible(true);
}
public function getTemplate()
{
return $this->template;
}
public function setTemplate($template)
{
$this->template = $template;
}
/**
* @return mixed
*/
public function getControllerPage()
{
return $this->controller_page;
}
/**
* @param mixed $controller_page
*/
public function setControllerPage($controller_page): void
{
$this->controller_page = $controller_page;
}
/**
* @return mixed
*/
public function getIsVisible()
{
return $this->is_visible;
}
/**
* @param mixed $is_visible
*/
public function setIsVisible($is_visible): void
{
$this->is_visible = $is_visible;
}
/**
* @return mixed
*/
public function getDescription()
{
return $this->description;
}
/**
* @param mixed $description
*/
public function setDescription($description): void
{
$this->description = $description;
}
public function __toString()
{
return (string)$this->getReference();
}
}