MediaWiki REL1_35
|
ExtensionRegistry class. More...
Public Member Functions | |
clearQueue () | |
Clear the current load queue. | |
finish () | |
After this is called, no more extensions can be loaded. | |
getAllThings () | |
Get credits information about all installed extensions and skins. | |
getAttribute ( $name) | |
getQueue () | |
Get the current load queue. | |
isLoaded ( $name, $constraint=' *') | |
Whether a thing has been loaded. | |
loadFromQueue () | |
queue ( $path) | |
readFromQueue (array $queue) | |
Process a queue of extensions and return their extracted data. | |
setAttributeForTest ( $name, array $value) | |
Force override the value of an attribute during tests. | |
setCheckDevRequires ( $check) | |
setLoadTestClassesAndNamespaces ( $load) | |
Controls if classes and namespaces defined under the keys TestAutoloadClasses and TestAutoloadNamespaces should be added to the autoloader. | |
Static Public Member Functions | |
static | exportAutoloadClassesAndNamespaces ( $dir, $info, &$autoloadClasses=[], &$autoloadNamespaces=[]) |
Export autoload classes and namespaces for a given directory and parsed JSON info file. | |
static | exportTestAutoloadClassesAndNamespaces ( $dir, $info, &$autoloadClasses=[], &$autoloadNamespaces=[]) |
Export test autoload classes and namespaces for a given directory and parsed JSON info file. | |
static | getInstance () |
Public Attributes | |
const | MANIFEST_VERSION = 2 |
Version of the highest supported manifest version Note: Update MANIFEST_VERSION_MW_VERSION when changing this. | |
const | MANIFEST_VERSION_MW_VERSION = '>= 1.29.0' |
MediaWiki version constraint representing what the current highest MANIFEST_VERSION is supported in. | |
const | MEDIAWIKI_CORE = 'MediaWiki' |
"requires" key that applies to MediaWiki core | |
const | MERGE_STRATEGY = '_merge_strategy' |
Special key that defines the merge strategy. | |
const | OLDEST_MANIFEST_VERSION = 1 |
Version of the oldest supported manifest version. | |
Protected Member Functions | |
exportExtractedData (array $info) | |
getLazyLoadedAttribute ( $name) | |
Get an attribute value that isn't cached by reading each extension.json file again. | |
saveToCache (BagOStuff $cache, array $data) | |
Save data in the cache. | |
Static Protected Member Functions | |
static | processAutoLoader ( $dir, array $files) |
Fully expand autoloader paths. | |
Protected Attributes | |
array | $attributes = [] |
Items in the JSON file that aren't being set as globals. | |
bool | $checkDev = false |
Whether to check dev-requires. | |
array | $lazyAttributes = [] |
Lazy-loaded attributes. | |
bool | $loadTestClassesAndNamespaces = false |
Whether test classes and namespaces should be added to the auto loader. | |
array | $queued = [] |
List of paths that should be loaded. | |
array | $testAttributes = [] |
Attributes for testing. | |
Private Member Functions | |
buildVersionChecker () | |
Queries information about the software environment and constructs an appropiate version checker. | |
getAbilities () | |
Get the list of abilities and their values. | |
getCache () | |
getVaryHash () | |
Get the cache varying hash. | |
invalidateProcessCache () | |
Invalidate the cache of the vary hash and the lazy options. | |
makeCacheKey (BagOStuff $cache, $component,... $extra) | |
Private Attributes | |
bool | $finished = false |
Whether we are done loading things. | |
array[] | $loaded = [] |
Array of loaded things, keyed by name, values are credits information. | |
string null | $varyHash |
The hash of cache-varying options, lazy-initialised. | |
const | CACHE_EXPIRY = 60 * 60 * 24 |
const | CACHE_VERSION = 7 |
Bump whenever the registration cache needs resetting. | |
const | LAZY_LOADED_ATTRIBUTES |
Attributes that should be lazy-loaded. | |
Static Private Attributes | |
static ExtensionRegistry | $instance |
ExtensionRegistry class.
The Registry loads JSON files, and uses a Processor to extract information from them. It also registers classes with the autoloader.
Definition at line 18 of file ExtensionRegistry.php.
|
private |
Queries information about the software environment and constructs an appropiate version checker.
Definition at line 338 of file ExtensionRegistry.php.
References MW_VERSION.
ExtensionRegistry::clearQueue | ( | ) |
Clear the current load queue.
Not intended to be used outside of the installer.
Definition at line 309 of file ExtensionRegistry.php.
|
static |
Export autoload classes and namespaces for a given directory and parsed JSON info file.
string | $dir | |
array | $info | |
array | &$autoloadClasses | |
array | &$autoloadNamespaces |
Definition at line 453 of file ExtensionRegistry.php.
References $GLOBALS, and AutoLoader\$psr4Namespaces.
|
protected |
Definition at line 491 of file ExtensionRegistry.php.
References $GLOBALS, $path, AutoLoader\$psr4Namespaces, and wfArrayPlus2d().
|
static |
Export test autoload classes and namespaces for a given directory and parsed JSON info file.
string | $dir | |
array | $info | |
array | &$autoloadClasses | |
array | &$autoloadNamespaces |
Definition at line 477 of file ExtensionRegistry.php.
References $GLOBALS, and AutoLoader\$psr4Namespaces.
ExtensionRegistry::finish | ( | ) |
After this is called, no more extensions can be loaded.
Definition at line 319 of file ExtensionRegistry.php.
|
private |
Get the list of abilities and their values.
Definition at line 327 of file ExtensionRegistry.php.
ExtensionRegistry::getAllThings | ( | ) |
Get credits information about all installed extensions and skins.
Definition at line 687 of file ExtensionRegistry.php.
ExtensionRegistry::getAttribute | ( | $name | ) |
|
private |
Definition at line 193 of file ExtensionRegistry.php.
|
static |
Definition at line 143 of file ExtensionRegistry.php.
|
protected |
Get an attribute value that isn't cached by reading each extension.json file again.
string | $name |
Definition at line 627 of file ExtensionRegistry.php.
References $cache.
ExtensionRegistry::getQueue | ( | ) |
Get the current load queue.
Not intended to be used outside of the installer.
Definition at line 301 of file ExtensionRegistry.php.
|
private |
Get the cache varying hash.
Definition at line 213 of file ExtensionRegistry.php.
References MW_VERSION.
|
private |
Invalidate the cache of the vary hash and the lazy options.
Definition at line 232 of file ExtensionRegistry.php.
Referenced by queue(), and setCheckDevRequires().
ExtensionRegistry::isLoaded | ( | $name, | |
$constraint = '*' |
|||
) |
Whether a thing has been loaded.
string | $name | |
string | $constraint | The required version constraint for this dependency |
LogicException | if a specific contraint is asked for, but the extension isn't versioned |
Definition at line 590 of file ExtensionRegistry.php.
ExtensionRegistry::loadFromQueue | ( | ) |
MWException | If the queue is already marked as finished (no further things should be loaded then). |
Definition at line 241 of file ExtensionRegistry.php.
References $cache.
|
private |
Definition at line 199 of file ExtensionRegistry.php.
References $cache.
|
staticprotected |
Fully expand autoloader paths.
string | $dir | |
array | $files |
Definition at line 698 of file ExtensionRegistry.php.
References $file.
ExtensionRegistry::queue | ( | $path | ) |
string | $path | Absolute path to the JSON file |
Definition at line 174 of file ExtensionRegistry.php.
References $path, $wgExtensionInfoMTime, and invalidateProcessCache().
ExtensionRegistry::readFromQueue | ( | array | $queue | ) |
Process a queue of extensions and return their extracted data.
array | $queue | keys are filenames, values are ignored |
Exception | |
ExtensionDependencyError |
Definition at line 362 of file ExtensionRegistry.php.
References $path, $queue, and wfDeprecatedMsg().
|
protected |
Save data in the cache.
BagOStuff | $cache | |
array | $data |
Definition at line 270 of file ExtensionRegistry.php.
References $cache, and $wgDevelopmentWarnings.
ExtensionRegistry::setAttributeForTest | ( | $name, | |
array | $value | ||
) |
Force override the value of an attribute during tests.
string | $name | Name of attribute to override |
array | $value | Value to set |
Definition at line 667 of file ExtensionRegistry.php.
ExtensionRegistry::setCheckDevRequires | ( | $check | ) |
bool | $check |
Definition at line 155 of file ExtensionRegistry.php.
References invalidateProcessCache().
ExtensionRegistry::setLoadTestClassesAndNamespaces | ( | $load | ) |
Controls if classes and namespaces defined under the keys TestAutoloadClasses and TestAutoloadNamespaces should be added to the autoloader.
bool | $load |
Definition at line 167 of file ExtensionRegistry.php.
|
protected |
Items in the JSON file that aren't being set as globals.
Definition at line 97 of file ExtensionRegistry.php.
|
protected |
Whether to check dev-requires.
Definition at line 125 of file ExtensionRegistry.php.
|
private |
Whether we are done loading things.
Definition at line 89 of file ExtensionRegistry.php.
|
staticprivate |
Definition at line 137 of file ExtensionRegistry.php.
|
protected |
Lazy-loaded attributes.
Definition at line 111 of file ExtensionRegistry.php.
|
private |
Array of loaded things, keyed by name, values are credits information.
The keys that the credit info arrays may have is defined by ExtensionProcessor::CREDIT_ATTRIBS (plus a 'path' key that points to the skin or extension JSON file).
This info may be accessed via via ExtensionRegistry::getAllThings.
Definition at line 75 of file ExtensionRegistry.php.
|
protected |
Whether test classes and namespaces should be added to the auto loader.
Definition at line 132 of file ExtensionRegistry.php.
|
protected |
List of paths that should be loaded.
Definition at line 82 of file ExtensionRegistry.php.
|
protected |
Attributes for testing.
Definition at line 104 of file ExtensionRegistry.php.
|
private |
The hash of cache-varying options, lazy-initialised.
Definition at line 118 of file ExtensionRegistry.php.
|
private |
Definition at line 47 of file ExtensionRegistry.php.
|
private |
Bump whenever the registration cache needs resetting.
Definition at line 45 of file ExtensionRegistry.php.
|
private |
Attributes that should be lazy-loaded.
Definition at line 59 of file ExtensionRegistry.php.
const ExtensionRegistry::MANIFEST_VERSION = 2 |
Version of the highest supported manifest version Note: Update MANIFEST_VERSION_MW_VERSION when changing this.
Definition at line 29 of file ExtensionRegistry.php.
const ExtensionRegistry::MANIFEST_VERSION_MW_VERSION = '>= 1.29.0' |
MediaWiki version constraint representing what the current highest MANIFEST_VERSION is supported in.
Definition at line 35 of file ExtensionRegistry.php.
const ExtensionRegistry::MEDIAWIKI_CORE = 'MediaWiki' |
"requires" key that applies to MediaWiki core
Definition at line 23 of file ExtensionRegistry.php.
const ExtensionRegistry::MERGE_STRATEGY = '_merge_strategy' |
Special key that defines the merge strategy.
Definition at line 54 of file ExtensionRegistry.php.
const ExtensionRegistry::OLDEST_MANIFEST_VERSION = 1 |
Version of the oldest supported manifest version.
Definition at line 40 of file ExtensionRegistry.php.