Composer\Autoload
ClassLoader::addPsr4()
Registers a set of PSR-4 directories for a given namespace, either appending or prepending to the ones previously set for this namespace.
Метод класса: ClassLoader{}
Хуков нет.
Возвращает
null
. Ничего (null).
Использование
$ClassLoader = new ClassLoader(); $ClassLoader->addPsr4( $prefix, $paths, $prepend );
- $prefix(строка) (обязательный)
- The prefix/namespace, with trailing '\\'
- $paths(list
|строка) (обязательный) - The PSR-4 base directories
- $prepend(true|false)
- Whether to prepend the directories
По умолчанию: false
Код ClassLoader::addPsr4() ClassLoader::addPsr4 WPSCache 2.0.0
public function addPsr4($prefix, $paths, $prepend = false) { $paths = (array) $paths; if (!$prefix) { // Register directories for the root namespace. if ($prepend) { $this->fallbackDirsPsr4 = array_merge( $paths, $this->fallbackDirsPsr4 ); } else { $this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4, $paths ); } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { // Register directories for a new namespace. $length = strlen($prefix); if ('\\' !== $prefix[$length - 1]) { throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; $this->prefixDirsPsr4[$prefix] = $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $paths, $this->prefixDirsPsr4[$prefix] ); } else { // Append directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix], $paths ); } }