<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Routing\Loader; use Symfony\Component\Config\Loader\FileLoader; use Symfony\Component\Config\Resource\DirectoryResource; use Symfony\Component\Routing\RouteCollection; class DirectoryLoader extends FileLoader { public function load(mixed $file, string $type = null): mixed { $path = $this->locator->locate($file); $collection = new RouteCollection(); $collection->addResource(new DirectoryResource($path)); foreach (scandir($path) as $dir) { if ('.' !== $dir[0]) { $this->setCurrentDir($path); $subPath = $path.'/'.$dir; $subType = null; if (is_dir($subPath)) { $subPath .= '/'; $subType = 'directory'; } $subCollection = $this->import($subPath, $subType, false, $path); $collection->addCollection($subCollection); } } return $collection; } public function supports(mixed $resource, string $type = null): bool { // only when type is forced to directory, not to conflict with AnnotationLoader return 'directory' === $type; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Configurator | Folder | 0755 |
|
|
schema | Folder | 0755 |
|
|
AnnotationClassLoader.php | File | 12.81 KB | 0644 |
|
AnnotationDirectoryLoader.php | File | 2.62 KB | 0644 |
|
AnnotationFileLoader.php | File | 4.3 KB | 0644 |
|
ClosureLoader.php | File | 917 B | 0644 |
|
ContainerLoader.php | File | 983 B | 0644 |
|
DirectoryLoader.php | File | 1.43 KB | 0644 |
|
GlobFileLoader.php | File | 1008 B | 0644 |
|
ObjectLoader.php | File | 2.79 KB | 0644 |
|
PhpFileLoader.php | File | 2.12 KB | 0644 |
|
Psr4DirectoryLoader.php | File | 3.29 KB | 0644 |
|
XmlFileLoader.php | File | 17.53 KB | 0644 |
|
YamlFileLoader.php | File | 11.72 KB | 0644 |
|