1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Routing\Loader;
13
14use Symfony\Component\Config\Loader\FileLoader;
15use Symfony\Component\Routing\RouteCollection;
16
17/**
18 * GlobFileLoader loads files from a glob pattern.
19 *
20 * @author Nicolas Grekas <p@tchwork.com>
21 */
22class GlobFileLoader extends FileLoader
23{
24    /**
25     * {@inheritdoc}
26     */
27    public function load($resource, $type = null)
28    {
29        $collection = new RouteCollection();
30
31        foreach ($this->glob($resource, false, $globResource) as $path => $info) {
32            $collection->addCollection($this->import($path));
33        }
34
35        $collection->addResource($globResource);
36
37        return $collection;
38    }
39
40    /**
41     * {@inheritdoc}
42     */
43    public function supports($resource, $type = null)
44    {
45        return 'glob' === $type;
46    }
47}
48