[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/libraries/src/Router/ -> SiteRouterAwareTrait.php (source)

   1  <?php
   2  
   3  /**
   4   * Joomla! Content Management System
   5   *
   6   * @copyright  (C) 2022 Open Source Matters, Inc. <https://www.joomla.org>
   7   * @license    GNU General Public License version 2 or later; see LICENSE.txt
   8   */
   9  
  10  namespace Joomla\CMS\Router;
  11  
  12  // phpcs:disable PSR1.Files.SideEffects
  13  \defined('_JEXEC') or die;
  14  // phpcs:enable PSR1.Files.SideEffects
  15  
  16  /**
  17   * Defines the trait for a Site Router Aware Class.
  18   *
  19   * @since  4.2.0
  20   */
  21  trait SiteRouterAwareTrait
  22  {
  23      /**
  24       * @var    SiteRouter
  25       * @since  4.2.0
  26       */
  27      private $router;
  28  
  29      /**
  30       * Get the site router.
  31       *
  32       * @return  SiteRouter
  33       *
  34       * @since   4.2.0
  35       *
  36       * @throws  \UnexpectedValueException May be thrown if the router has not been set.
  37       */
  38      public function getSiteRouter(): SiteRouter
  39      {
  40          if ($this->router) {
  41              return $this->router;
  42          }
  43  
  44          throw new \UnexpectedValueException('SiteRouter not set in ' . __CLASS__);
  45      }
  46  
  47      /**
  48       * Set the router to use.
  49       *
  50       * @param   SiteRouter  $router  The router to use.
  51       *
  52       * @return  void
  53       *
  54       * @since   4.2.0
  55       */
  56      public function setSiteRouter(SiteRouter $router): void
  57      {
  58          $this->router = $router;
  59      }
  60  }


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer