Composer\Autoload
ClassLoader::addPsr4() public WC 1.0
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
. Ничего.
Использование
$ClassLoader = new ClassLoader(); $ClassLoader->addPsr4( $prefix, $paths, $prepend );
- $prefix(строка) (обязательный)
- The prefix/namespace, with trailing '\\'
- $paths(массив/строка) (обязательный)
- The PSR-4 base directories
- $prepend(true|false)
- Whether to prepend the directories
Код ClassLoader::addPsr4() ClassLoader::addPsr4 WC 5.2.2
public function addPsr4($prefix, $paths, $prepend = false)
{
if (!$prefix) {
// Register directories for the root namespace.
if ($prepend) {
$this->fallbackDirsPsr4 = array_merge(
(array) $paths,
$this->fallbackDirsPsr4
);
} else {
$this->fallbackDirsPsr4 = array_merge(
$this->fallbackDirsPsr4,
(array) $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] = (array) $paths;
} elseif ($prepend) {
// Prepend directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
(array) $paths,
$this->prefixDirsPsr4[$prefix]
);
} else {
// Append directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$this->prefixDirsPsr4[$prefix],
(array) $paths
);
}
}