You are here

public function ClassLoader::add in Automatic Updates 8

Same name and namespace in other branches
  1. 7 vendor/composer/ClassLoader.php \Composer\Autoload\ClassLoader::add()

Registers a set of PSR-0 directories for a given prefix, either appending or prepending to the ones previously set for this prefix.

Parameters

string $prefix The prefix:

array|string $paths The PSR-0 root directories:

bool $prepend Whether to prepend the directories:

File

vendor/composer/ClassLoader.php, line 109

Class

ClassLoader
ClassLoader implements a PSR-0, PSR-4 and classmap class loader.

Namespace

Composer\Autoload

Code

public function add($prefix, $paths, $prepend = false) {
  if (!$prefix) {
    if ($prepend) {
      $this->fallbackDirsPsr0 = array_merge((array) $paths, $this->fallbackDirsPsr0);
    }
    else {
      $this->fallbackDirsPsr0 = array_merge($this->fallbackDirsPsr0, (array) $paths);
    }
    return;
  }
  $first = $prefix[0];
  if (!isset($this->prefixesPsr0[$first][$prefix])) {
    $this->prefixesPsr0[$first][$prefix] = (array) $paths;
    return;
  }
  if ($prepend) {
    $this->prefixesPsr0[$first][$prefix] = array_merge((array) $paths, $this->prefixesPsr0[$first][$prefix]);
  }
  else {
    $this->prefixesPsr0[$first][$prefix] = array_merge($this->prefixesPsr0[$first][$prefix], (array) $paths);
  }
}