Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 39 and 311] [Versions 39 and 400] [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]

(no description)

File Size: 445 lines (13 kb)
Included or required: 1 time
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class


Class: ClassLoader  - X-Ref

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

$loader = new \Composer\Autoload\ClassLoader();

// register classes with namespaces
$loader->add('Symfony\Component', __DIR__.'/component');
$loader->add('Symfony',           __DIR__.'/framework');

// activate the autoloader
$loader->register();

// to enable searching the include path (eg. for PEAR packages)
$loader->setUseIncludePath(true);

In this example, if you try to use a class in the Symfony\Component
namespace or one of its children (Symfony\Component\Console for instance),
the autoloader will first look for the class under the component/
directory, and it will then fallback to the framework/ directory if not
found before giving up.

This class is loosely based on the Symfony UniversalClassLoader.

getPrefixes()   X-Ref
No description

getPrefixesPsr4()   X-Ref
No description

getFallbackDirs()   X-Ref
No description

getFallbackDirsPsr4()   X-Ref
No description

getClassMap()   X-Ref
No description

addClassMap(array $classMap)   X-Ref

param: array $classMap Class to filename map

add($prefix, $paths, $prepend = false)   X-Ref
Registers a set of PSR-0 directories for a given prefix, either
appending or prepending to the ones previously set for this prefix.

param: string       $prefix  The prefix
param: array|string $paths   The PSR-0 root directories
param: bool         $prepend Whether to prepend the directories

addPsr4($prefix, $paths, $prepend = false)   X-Ref
Registers a set of PSR-4 directories for a given namespace, either
appending or prepending to the ones previously set for this namespace.

param: string       $prefix  The prefix/namespace, with trailing '\\'
param: array|string $paths   The PSR-4 base directories
param: bool         $prepend Whether to prepend the directories

set($prefix, $paths)   X-Ref
Registers a set of PSR-0 directories for a given prefix,
replacing any others previously set for this prefix.

param: string       $prefix The prefix
param: array|string $paths  The PSR-0 base directories

setPsr4($prefix, $paths)   X-Ref
Registers a set of PSR-4 directories for a given namespace,
replacing any others previously set for this namespace.

param: string       $prefix The prefix/namespace, with trailing '\\'
param: array|string $paths  The PSR-4 base directories

setUseIncludePath($useIncludePath)   X-Ref
Turns on searching the include path for class files.

param: bool $useIncludePath

getUseIncludePath()   X-Ref
Can be used to check if the autoloader uses the include path to check
for classes.

return: bool

setClassMapAuthoritative($classMapAuthoritative)   X-Ref
Turns off searching the prefix and fallback directories for classes
that have not been registered with the class map.

param: bool $classMapAuthoritative

isClassMapAuthoritative()   X-Ref
Should class lookup fail if not found in the current class map?

return: bool

setApcuPrefix($apcuPrefix)   X-Ref
APCu prefix to use to cache found/not-found classes, if the extension is enabled.

param: string|null $apcuPrefix

getApcuPrefix()   X-Ref
The APCu prefix in use, or null if APCu caching is not enabled.

return: string|null

register($prepend = false)   X-Ref
Registers this instance as an autoloader.

param: bool $prepend Whether to prepend the autoloader or not

unregister()   X-Ref
Unregisters this instance as an autoloader.


loadClass($class)   X-Ref
Loads the given class or interface.

param: string    $class The name of the class
return: bool|null True if loaded, null otherwise

findFile($class)   X-Ref
Finds the path to the file where the class is defined.

param: string $class The name of the class
return: string|false The path if found, false otherwise

findFileWithExtension($class, $ext)   X-Ref
No description

includeFile($file)   X-Ref
Scope isolated include.

Prevents access to $this/self from included files.