You are here

class ClassMapGenerator in X Autoload 7.4

Same name and namespace in other branches
  1. 7.5 src/Discovery/ClassMapGenerator.php \Drupal\xautoload\Discovery\ClassMapGenerator

Hierarchy

Expanded class hierarchy of ClassMapGenerator

5 files declare their use of ClassMapGenerator
bootstrap.php in tests/bootstrap.php
HookXautoloadOperation.php in lib/FinderOperation/HookXautoloadOperation.php
MainPhase.php in tests/lib/FinderOperation/MainPhase.php
ServiceContainerInterface.php in lib/DIC/ServiceContainerInterface.php
ServiceFactory.php in lib/DIC/ServiceFactory.php

File

lib/Discovery/ClassMapGenerator.php, line 6

Namespace

Drupal\xautoload\Discovery
View source
class ClassMapGenerator implements ClassMapGeneratorInterface {

  /**
   * @param string[] $paths
   *
   * @return string[]
   */
  function wildcardPathsToClassmap($paths) {
    $files = $this
      ->wildcardPathsToFiles($paths);
    return $this
      ->filesToClassmap($files);
  }

  /**
   * @param string[] $files
   *
   * @return string[]
   */
  protected function filesToClassmap($files) {
    $map = array();
    foreach ($files as $file) {
      $classes = FileInspector::inspectPhpFile($file);
      foreach ($classes as $class) {
        $map[$class] = $file;
      }
    }
    return $map;
  }

  /**
   * @param string[] $paths
   *
   * @return string[]
   */
  protected function wildcardPathsToFiles($paths) {
    $wildcardFinder = new WildcardFileFinder();
    $wildcardFinder
      ->addPaths($paths);
    return $wildcardFinder
      ->getFiles();
  }

}

Members