[ Index ]

PHP Cross Reference of phpBB-3.2.11-deutsch

title

Body

[close]

/vendor/symfony/dependency-injection/Loader/ -> DirectoryLoader.php (source)

   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  
  12  namespace Symfony\Component\DependencyInjection\Loader;
  13  
  14  use Symfony\Component\Config\Resource\DirectoryResource;
  15  
  16  /**
  17   * DirectoryLoader is a recursive loader to go through directories.
  18   *
  19   * @author Sebastien Lavoie <seb@wemakecustom.com>
  20   */
  21  class DirectoryLoader extends FileLoader
  22  {
  23      /**
  24       * {@inheritdoc}
  25       */
  26      public function load($file, $type = null)
  27      {
  28          $file = rtrim($file, '/');
  29          $path = $this->locator->locate($file);
  30          $this->container->addResource(new DirectoryResource($path));
  31  
  32          foreach (scandir($path) as $dir) {
  33              if ('.' !== $dir[0]) {
  34                  if (is_dir($path.'/'.$dir)) {
  35                      $dir .= '/'; // append / to allow recursion
  36                  }
  37  
  38                  $this->setCurrentDir($path);
  39  
  40                  $this->import($dir, null, false, $path);
  41              }
  42          }
  43      }
  44  
  45      /**
  46       * {@inheritdoc}
  47       */
  48      public function supports($resource, $type = null)
  49      {
  50          if ('directory' === $type) {
  51              return true;
  52          }
  53  
  54          return null === $type && \is_string($resource) && '/' === substr($resource, -1);
  55      }
  56  }


Generated: Wed Nov 11 20:33:01 2020 Cross-referenced by PHPXref 0.7.1