src/Entity/Seo.php line 13

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: adv
  5.  * Date: 04.12.15
  6.  * Time: 19:35
  7.  */
  8. namespace Slivki\Entity;
  9. use JsonSerializable;
  10. class Seo extends Entity implements JsonSerializable
  11. {
  12.     public const RATING_CATEGORY_URL_PREFIX '/rating';
  13.     private $createdOn;
  14.     private $entityID;
  15.     private $active;
  16.     private $resourceURL;
  17.     private $mainAlias;
  18.     private $title;
  19.     private $metaTitle;
  20.     private $metaDescription;
  21.     private $metaKeywords;
  22.     private $redirectURL;
  23.     private $pageDescription;
  24.     protected $domain;
  25.     public function __construct() {
  26.         $this->createdOn = new \DateTime();
  27.         $this->domain 'www';
  28.     }
  29.     public function getCreatedOn() {
  30.         return $this->createdOn;
  31.     }
  32.     public function setCreatedOn($createdOn) {
  33.         $this->createdOn $createdOn;
  34.     }
  35.     public function getEntityID() {
  36.         return $this->entityID;
  37.     }
  38.     public function setEntityID($entityID) {
  39.         $this->entityID $entityID;
  40.     }
  41.     public function isActive() {
  42.         return $this->active;
  43.     }
  44.     public function setActive($active) {
  45.         $this->active $active;
  46.     }
  47.     public function getResourceURL() {
  48.         return $this->resourceURL;
  49.     }
  50.     public function setResourceURL($resourceURL) {
  51.         $this->resourceURL $resourceURL;
  52.     }
  53.     public function getMainAlias() {
  54.         return $this->mainAlias;
  55.     }
  56.     public function setMainAlias($mainAlias) {
  57.         $this->mainAlias $mainAlias;
  58.     }
  59.     public function getTitle() {
  60.         return $this->title;
  61.     }
  62.     public function setTitle($title) {
  63.         $this->title $title;
  64.     }
  65.     public function getMetaTitle() {
  66.         return $this->metaTitle;
  67.     }
  68.     public function setMetaTitle($metaTitle) {
  69.         $this->metaTitle $metaTitle;
  70.     }
  71.     public function getMetaDescription() {
  72.         return $this->metaDescription;
  73.     }
  74.     public function setMetaDescription($metaDescription) {
  75.         $this->metaDescription $metaDescription;
  76.     }
  77.     public function getPageDescription() {
  78.         return $this->pageDescription;
  79.     }
  80.     public function setPageDescription($pageDescription) {
  81.         $this->pageDescription $pageDescription;
  82.     }
  83.     public function getMetaKeywords() {
  84.         return $this->metaKeywords;
  85.     }
  86.     public function setMetaKeywords($metaKeywords) {
  87.         $this->metaKeywords $metaKeywords;
  88.     }
  89.     public function getRedirectURL() {
  90.         return $this->redirectURL;
  91.     }
  92.     public function setRedirectURL($redirectURL) {
  93.         $this->redirectURL $redirectURL;
  94.     }
  95.     public function isEqual(Seo $seo): bool
  96.     {
  97.         return $this->entityID === $seo->getEntityID() && $this->metaTitle === $seo->getMetaTitle()
  98.             && $this->metaDescription === $seo->getMetaDescription() && $this->metaKeywords === $seo->getMetaKeywords()
  99.             && $this->pageDescription === $seo->getPageDescription() && $this->title === $seo->getTitle();
  100.     }
  101.     public function activate(): void
  102.     {
  103.         $this->active true;
  104.     }
  105.     public function getDomain() {
  106.         return $this->domain;
  107.     }
  108.     public function setDomain($domain) {
  109.         $this->domain $domain;
  110.     }
  111.     public function jsonSerialize(): array
  112.     {
  113.         return [
  114.             'ID' => $this->ID,
  115.             'mainAlias' => $this->mainAlias,
  116.             'title' => $this->title,
  117.             'metaTitle' => $this->metaTitle,
  118.             'metaDescription' => $this->metaDescription,
  119.             'metaKeywords' => $this->metaKeywords,
  120.             'pageDescription' => $this->pageDescription
  121.         ];
  122.     }
  123. }