ClassLoader::addPsr4( string $prefix, string[]|string $paths, bool $prepend = false )
Registers a set of PSR-4 directories for a given namespace, either appending or prepending to the ones previously set for this namespace.
Contents
Parameters Parameters
- $prefix
-
(string) (Required) The prefix/namespace, with trailing ''
- $paths
-
(string[]|string) (Required) The PSR-4 base directories
- $prepend
-
(bool) (Optional) Whether to prepend the directories
Default value: false
Return Return
(void)
Source Source
File: libraries/lifterlms-cli/vendor/composer/ClassLoader.php
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 ); } }
Expand full source code Collapse full source code View on GitHub