Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. AutoloadGenerator.php

function AutoloadGenerator::createLoader

Registers an autoloader based on an autoload-map returned by parseAutoloads

Parameters

array<string, mixed[]> $autoloads see parseAutoloads return value:

Return value

ClassLoader

File

vendor/composer/composer/src/Composer/Autoload/AutoloadGenerator.php, line 607

Class

AutoloadGenerator
@author Igor Wiedler <igor@wiedler.ch> @author Jordi Boggiano <j.boggiano@seld.be>

Namespace

Composer\Autoload

Code

public function createLoader(array $autoloads, ?string $vendorDir = null) {
    $loader = new ClassLoader($vendorDir);
    if (isset($autoloads['psr-0'])) {
        foreach ($autoloads['psr-0'] as $namespace => $path) {
            $loader->add($namespace, $path);
        }
    }
    if (isset($autoloads['psr-4'])) {
        foreach ($autoloads['psr-4'] as $namespace => $path) {
            $loader->addPsr4($namespace, $path);
        }
    }
    if (isset($autoloads['classmap'])) {
        $excluded = [];
        if (!empty($autoloads['exclude-from-classmap'])) {
            $excluded = $autoloads['exclude-from-classmap'];
        }
        $classMapGenerator = new ClassMapGenerator([
            'php',
            'inc',
            'hh',
        ]);
        $classMapGenerator->avoidDuplicateScans();
        foreach ($autoloads['classmap'] as $dir) {
            try {
                $classMapGenerator->scanPaths($dir, $this->buildExclusionRegex($dir, $excluded));
            } catch (\RuntimeException $e) {
                $this->io
                    ->writeError('<warning>' . $e->getMessage() . '</warning>');
            }
        }
        $loader->addClassMap($classMapGenerator->getClassMap()
            ->getMap());
    }
    return $loader;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal