<?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\Routing\RouteCollection; use Symfony\Component\Config\Resource\DirectoryResource; class DirectoryLoader extends FileLoader { /** * {@inheritdoc} */ public function load($file, $type = null) { $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; } /** * {@inheritdoc} */ public function supports($resource, $type = null) { // only when type is forced to directory, not to conflict with AnnotationLoader return 'directory' === $type; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Configurator | Folder | 0755 |
|
|
DependencyInjection | Folder | 0755 |
|
|
schema | Folder | 0755 |
|
|
AnnotationClassLoader.php | File | 8.47 KB | 0644 |
|
AnnotationDirectoryLoader.php | File | 2.75 KB | 0644 |
|
AnnotationFileLoader.php | File | 4.31 KB | 0644 |
|
ClosureLoader.php | File | 1.04 KB | 0644 |
|
DirectoryLoader.php | File | 1.46 KB | 0644 |
|
GlobFileLoader.php | File | 1.02 KB | 0644 |
|
ObjectRouteLoader.php | File | 3.07 KB | 0644 |
|
PhpFileLoader.php | File | 1.95 KB | 0644 |
|
XmlFileLoader.php | File | 13.03 KB | 0644 |
|
YamlFileLoader.php | File | 9.06 KB | 0644 |
|