MediaWiki REL1_41
AutoLoader Class Reference

Locations of core classes Extension classes are specified with $wgAutoloadClasses. More...

Static Public Member Functions

static autoload ( $className)
 autoload - take a class name and attempt to load it
 
static find ( $className)
 Find the file containing the given class.
 
static getClassFiles ()
 Returns a map of class names to file paths for testing.
 
static getNamespaceDirectories ()
 Returns a map of namespace names to directories, per PSR4.
 
static getState ()
 Returns an array representing the internal state of Autoloader, so it can be remembered and later restored during testing.
 
static loadFile (string $file)
 Load a file that declares classes, functions, or constants.
 
static loadFiles (array $files)
 Batch version of loadFile()
 
static registerClasses (array $files)
 Register a file to load the given class from.
 
static registerNamespaces (array $dirs)
 Register a directory to load the classes of a given namespace from, per PSR4.
 
static restoreState ( $state)
 Returns an array representing the internal state of Autoloader, so it can be remembered and later restored during testing.
 

Public Attributes

const CORE_NAMESPACES
 A mapping of namespace => file path for MediaWiki core.
 

Detailed Description

Locations of core classes Extension classes are specified with $wgAutoloadClasses.

Definition at line 31 of file AutoLoader.php.

Member Function Documentation

◆ autoload()

static AutoLoader::autoload ( $className)
static

autoload - take a class name and attempt to load it

Parameters
string$classNameName of class we're looking for.

Definition at line 217 of file AutoLoader.php.

◆ find()

static AutoLoader::find ( $className)
static

Find the file containing the given class.

Parameters
string$classNameName of class we're looking for.
Returns
string|null The path containing the class, not null if not found

Definition at line 163 of file AutoLoader.php.

References $file.

Referenced by FindClasses\execute().

◆ getClassFiles()

static AutoLoader::getClassFiles ( )
static

Returns a map of class names to file paths for testing.

Note
Will throw if called outside of phpunit tests!
Returns
string[]

Definition at line 237 of file AutoLoader.php.

◆ getNamespaceDirectories()

static AutoLoader::getNamespaceDirectories ( )
static

Returns a map of namespace names to directories, per PSR4.

Note
Will throw if called outside of phpunit tests!
Returns
string[]

Definition at line 255 of file AutoLoader.php.

◆ getState()

static AutoLoader::getState ( )
static

Returns an array representing the internal state of Autoloader, so it can be remembered and later restored during testing.

Access: internal
Note
Will throw if called outside of phpunit tests!
Returns
array

Definition at line 267 of file AutoLoader.php.

◆ loadFile()

static AutoLoader::loadFile ( string $file)
static

Load a file that declares classes, functions, or constants.

The file will be loaded immediately using require_once in function scope.

Note
The file to be loaded MUST NOT set global variables or otherwise affect the global state. It MAY however use conditionals to determine what to declare and how, e.g. to provide polyfills.
The file to be loaded MUST NOT assume that MediaWiki has been initialized. In particular, it MUST NOT access configuration variables or MediaWikiServices.
Since
1.39
Parameters
string$filethe path of the file to load.

Definition at line 138 of file AutoLoader.php.

◆ loadFiles()

static AutoLoader::loadFiles ( array $files)
static

Batch version of loadFile()

See also
loadFile()
Since
1.39
Parameters
string[]$filesthe paths of the files to load.

Definition at line 151 of file AutoLoader.php.

Referenced by ExtensionRegistry\exportExtractedData(), and Installer\getAutoExtensionData().

◆ registerClasses()

static AutoLoader::registerClasses ( array $files)
static

Register a file to load the given class from.

Since
1.39
Parameters
string[]$filesa map of qualified class names to file names

Definition at line 118 of file AutoLoader.php.

Referenced by ExtensionRegistry\exportExtractedData(), and Installer\getAutoExtensionData().

◆ registerNamespaces()

static AutoLoader::registerNamespaces ( array $dirs)
static

Register a directory to load the classes of a given namespace from, per PSR4.

See also
https://www.php-fig.org/psr/psr-4/
Since
1.39
Parameters
string[]$dirsa map of namespace (ends with \) to path (ends with /)

Definition at line 108 of file AutoLoader.php.

Referenced by ExtensionRegistry\exportExtractedData(), and Installer\getAutoExtensionData().

◆ restoreState()

static AutoLoader::restoreState ( $state)
static

Returns an array representing the internal state of Autoloader, so it can be remembered and later restored during testing.

Access: internal
Note
Will throw if called outside of phpunit tests!
Parameters
array$stateA state array returned by getState().

Definition at line 283 of file AutoLoader.php.

Member Data Documentation

◆ CORE_NAMESPACES

const AutoLoader::CORE_NAMESPACES

A mapping of namespace => file path for MediaWiki core.

The namespaces should follow the PSR-4 standard for autoloading

See also
https://www.php-fig.org/psr/psr-4/
Access: internal
Only public for usage in AutoloadGenerator @phpcs-require-sorted-array

Definition at line 41 of file AutoLoader.php.

Referenced by GenerateAutoload\execute().


The documentation for this class was generated from the following file: