[ Index ]

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


Generated: Mon Nov 25 19:05:08 2024 Cross-referenced by PHPXref 0.7.1