vendor/pimcore/pimcore/lib/Routing/Loader/BundleRoutingLoader.php line 53

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\Loader;
  15. use Pimcore\Config\BundleConfigLocator;
  16. use Symfony\Component\Config\Loader\Loader;
  17. use Symfony\Component\Routing\RouteCollection;
  18. /**
  19.  * @internal
  20.  */
  21. class BundleRoutingLoader extends Loader
  22. {
  23.     /**
  24.      * @var BundleConfigLocator
  25.      */
  26.     private $locator;
  27.     /**
  28.      * @param BundleConfigLocator $locator
  29.      */
  30.     public function __construct(BundleConfigLocator $locator)
  31.     {
  32.         $this->locator $locator;
  33.     }
  34.     /**
  35.      * {@inheritdoc}
  36.      */
  37.     public function load($resource$type null): mixed
  38.     {
  39.         $collection = new RouteCollection();
  40.         $files $this->locator->locate('routing');
  41.         if (empty($files)) {
  42.             return $collection;
  43.         }
  44.         foreach ($files as $file) {
  45.             $routes $this->import($file);
  46.             $collection->addCollection($routes);
  47.         }
  48.         return $collection;
  49.     }
  50.     /**
  51.      * {@inheritdoc}
  52.      */
  53.     public function supports($resource$type null): bool
  54.     {
  55.         return 'pimcore_bundle' === $type;
  56.     }
  57. }