vendor/pimcore/pimcore/lib/Routing/DataObjectRoute.php line 26

Open in your IDE?
  1. <?php
  2. /**
  3.  * Pimcore
  4.  *
  5.  * This source file is available under two different licenses:
  6.  * - GNU General Public License version 3 (GPLv3)
  7.  * - Pimcore Commercial License (PCL)
  8.  * Full copyright and license information is available in
  9.  * LICENSE.md which is distributed with this source code.
  10.  *
  11.  *  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.org)
  12.  *  @license    http://www.pimcore.org/license     GPLv3 and PCL
  13.  */
  14. namespace Pimcore\Routing;
  15. use Pimcore\Model\DataObject\Concrete;
  16. use Pimcore\Model\DataObject\Data\UrlSlug;
  17. use Symfony\Cmf\Component\Routing\RouteObjectInterface;
  18. use Symfony\Component\Routing\Route;
  19. /**
  20.  * @internal
  21.  */
  22. final class DataObjectRoute extends Route implements RouteObjectInterface
  23. {
  24.     /**
  25.      * @var Concrete|null
  26.      */
  27.     protected $object;
  28.     /**
  29.      * @var UrlSlug|null
  30.      */
  31.     protected $slug;
  32.     /**
  33.      * @return Concrete
  34.      */
  35.     public function getObject(): Concrete
  36.     {
  37.         return $this->object;
  38.     }
  39.     /**
  40.      * @param Concrete $object
  41.      *
  42.      * @return $this
  43.      */
  44.     public function setObject(Concrete $object): self
  45.     {
  46.         $this->object $object;
  47.         return $this;
  48.     }
  49.     /**
  50.      * @return UrlSlug
  51.      */
  52.     public function getSlug(): UrlSlug
  53.     {
  54.         return $this->slug;
  55.     }
  56.     /**
  57.      * @param UrlSlug $slug
  58.      *
  59.      * @return $this
  60.      */
  61.     public function setSlug(UrlSlug $slug): self
  62.     {
  63.         $this->slug $slug;
  64.         return $this;
  65.     }
  66.     /**
  67.      * {@inheritdoc}
  68.      */
  69.     public function getContent()
  70.     {
  71.         return null;
  72.     }
  73.     /**
  74.      * {@inheritdoc}
  75.      */
  76.     public function getRouteKey()
  77.     {
  78.         if ($this->object) {
  79.             return sprintf('data_object_%d_%s'$this->object->getId(), $this->getPath());
  80.         }
  81.         return null;
  82.     }
  83. }