MediaWiki REL1_32
ExtensionRegistry Class Reference

ExtensionRegistry class. More...

Collaboration diagram for ExtensionRegistry:

Public Member Functions

 clearQueue ()
 Clear the current load queue.
 
 finish ()
 After this is called, no more extensions can be loaded.
 
 getAllThings ()
 Get information about all things.
 
 getAttribute ( $name)
 
 getQueue ()
 Get the current load queue.
 
 isLoaded ( $name, $constraint=' *')
 Whether a thing has been loaded.
 
 load ( $path)
 Loads and processes the given JSON file without delay.
 
 loadFromQueue ()
 
 queue ( $path)
 
 readFromQueue (array $queue)
 Process a queue of extensions and return their extracted data.
 

Static Public Member Functions

static getInstance ()
 

Public Attributes

const CACHE_VERSION = 7
 Bump whenever the registration cache needs resetting.
 
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/$wgVersion
 
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)
 
 processAutoLoader ( $dir, array $files)
 Fully expand autoloader paths.
 

Protected Attributes

array $attributes = []
 Items in the JSON file that aren't being set as globals.
 
array $queued = []
 List of paths that should be loaded.
 

Private Attributes

bool $finished = false
 Whether we are done loading things.
 
array $loaded = []
 Array of loaded things, keyed by name, values are credits information.
 

Static Private Attributes

static ExtensionRegistry $instance
 

Detailed Description

ExtensionRegistry class.

The Registry loads JSON files, and uses a Processor to extract information from them. It also registers classes with the autoloader.

Since
1.25

Definition at line 14 of file ExtensionRegistry.php.

Member Function Documentation

◆ clearQueue()

ExtensionRegistry::clearQueue ( )

Clear the current load queue.

Not intended to be used outside of the installer.

Definition at line 189 of file ExtensionRegistry.php.

◆ exportExtractedData()

ExtensionRegistry::exportExtractedData ( array $info)
protected

Definition at line 296 of file ExtensionRegistry.php.

References $GLOBALS, $path, AutoLoader\$psr4Namespaces, MERGE_STRATEGY, and wfArrayPlus2d().

Referenced by loadFromQueue().

◆ finish()

ExtensionRegistry::finish ( )

After this is called, no more extensions can be loaded.

Since
1.29

Definition at line 198 of file ExtensionRegistry.php.

◆ getAllThings()

ExtensionRegistry::getAllThings ( )

Get information about all things.

Returns
array

Definition at line 423 of file ExtensionRegistry.php.

References $loaded.

◆ getAttribute()

ExtensionRegistry::getAttribute ( $name)
Parameters
string$name
Returns
array

Definition at line 414 of file ExtensionRegistry.php.

References $name.

◆ getInstance()

◆ getQueue()

ExtensionRegistry::getQueue ( )

Get the current load queue.

Not intended to be used outside of the installer.

Returns
array

Definition at line 181 of file ExtensionRegistry.php.

References $queued.

◆ isLoaded()

ExtensionRegistry::isLoaded ( $name,
$constraint = '*' )

Whether a thing has been loaded.

Parameters
string$name
string$constraintThe required version constraint for this dependency
Exceptions
LogicExceptionif a specific contraint is asked for, but the extension isn't versioned
Returns
bool

Definition at line 395 of file ExtensionRegistry.php.

◆ load()

ExtensionRegistry::load ( $path)

Loads and processes the given JSON file without delay.

If some extensions are already queued, this will load those as well.

Parameters
string$pathAbsolute path to the JSON file

Definition at line 381 of file ExtensionRegistry.php.

References loadFromQueue(), and queue().

◆ loadFromQueue()

ExtensionRegistry::loadFromQueue ( )
Exceptions
MWExceptionIf the queue is already marked as finished (no further things should be loaded then).

Definition at line 123 of file ExtensionRegistry.php.

References $cache, $e, $wgDevelopmentWarnings, $wgVersion, CACHE_VERSION, exportExtractedData(), and readFromQueue().

Referenced by load().

◆ processAutoLoader()

ExtensionRegistry::processAutoLoader ( $dir,
array $files )
protected

Fully expand autoloader paths.

Parameters
string$dir
array$files
Returns
array

Definition at line 434 of file ExtensionRegistry.php.

Referenced by readFromQueue().

◆ queue()

ExtensionRegistry::queue ( $path)
Parameters
string$pathAbsolute path to the JSON file

Definition at line 99 of file ExtensionRegistry.php.

References $path, and $wgExtensionInfoMTime.

Referenced by load().

◆ readFromQueue()

ExtensionRegistry::readFromQueue ( array $queue)

Process a queue of extensions and return their extracted data.

Parameters
array$queuekeys are filenames, values are ignored
Returns
array extracted info
Exceptions
Exception
ExtensionDependencyError

Definition at line 210 of file ExtensionRegistry.php.

References $GLOBALS, AutoLoader\$psr4Namespaces, $queue, $wgVersion, processAutoLoader(), and wfDeprecated().

Referenced by loadFromQueue().

Member Data Documentation

◆ $attributes

array ExtensionRegistry::$attributes = []
protected

Items in the JSON file that aren't being set as globals.

Definition at line 77 of file ExtensionRegistry.php.

◆ $finished

bool ExtensionRegistry::$finished = false
private

Whether we are done loading things.

Definition at line 69 of file ExtensionRegistry.php.

◆ $instance

ExtensionRegistry ExtensionRegistry::$instance
staticprivate

Definition at line 82 of file ExtensionRegistry.php.

Referenced by getInstance().

◆ $loaded

array ExtensionRegistry::$loaded = []
private

Array of loaded things, keyed by name, values are credits information.

Definition at line 55 of file ExtensionRegistry.php.

Referenced by getAllThings().

◆ $queued

array ExtensionRegistry::$queued = []
protected

List of paths that should be loaded.

Definition at line 62 of file ExtensionRegistry.php.

Referenced by getQueue().

◆ CACHE_VERSION

const ExtensionRegistry::CACHE_VERSION = 7

Bump whenever the registration cache needs resetting.

Definition at line 41 of file ExtensionRegistry.php.

Referenced by loadFromQueue().

◆ MANIFEST_VERSION

const ExtensionRegistry::MANIFEST_VERSION = 2

Version of the highest supported manifest version Note: Update MANIFEST_VERSION_MW_VERSION when changing this.

Definition at line 25 of file ExtensionRegistry.php.

Referenced by ConvertExtensionToRegistration\execute(), UpdateExtensionJsonSchema\execute(), ExtensionProcessorTest\testGlobalSettingsDocumentedInSchema(), and ExtensionJsonValidator\validate().

◆ MANIFEST_VERSION_MW_VERSION

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 31 of file ExtensionRegistry.php.

Referenced by ConvertExtensionToRegistration\execute().

◆ MEDIAWIKI_CORE

const ExtensionRegistry::MEDIAWIKI_CORE = 'MediaWiki'

"requires" key that applies to MediaWiki core/$wgVersion

Definition at line 19 of file ExtensionRegistry.php.

Referenced by VersionChecker\checkArray(), and ConvertExtensionToRegistration\execute().

◆ MERGE_STRATEGY

◆ OLDEST_MANIFEST_VERSION

const ExtensionRegistry::OLDEST_MANIFEST_VERSION = 1

Version of the oldest supported manifest version.

Definition at line 36 of file ExtensionRegistry.php.

Referenced by ExtensionJsonValidator\validate().


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