MediaWiki REL1_31
ResourceLoaderStartUpModule Class Reference

Module for ResourceLoader initialization. More...

Inheritance diagram for ResourceLoaderStartUpModule:
Collaboration diagram for ResourceLoaderStartUpModule:

Public Member Functions

 getDefinitionSummary (ResourceLoaderContext $context)
 Get the definition summary for this module.
 
 getGroup ()
 
 getModuleRegistrations (ResourceLoaderContext $context)
 Get registration code for all modules.
 
 getPreloadLinks (ResourceLoaderContext $context)
 
 getScript (ResourceLoaderContext $context)
 
 isRaw ()
 
 supportsURLLoading ()
 
- Public Member Functions inherited from ResourceLoaderModule
 enableModuleContentVersion ()
 Whether to generate version hash based on module content.
 
 getConfig ()
 
 getDependencies (ResourceLoaderContext $context=null)
 Get a list of modules this module depends on.
 
 getFlip ( $context)
 
 getHeaders (ResourceLoaderContext $context)
 Get headers to send as part of a module web response.
 
 getMessages ()
 Get the messages needed for this module.
 
 getModifiedHash (ResourceLoaderContext $context)
 Helper method for providing a version hash to getVersionHash().
 
 getModifiedTime (ResourceLoaderContext $context)
 Get this module's last modification timestamp for a given context.
 
 getModuleContent (ResourceLoaderContext $context)
 Get an array of this module's resources.
 
 getName ()
 Get this module's name.
 
 getOrigin ()
 Get this module's origin.
 
 getScriptURLsForDebug (ResourceLoaderContext $context)
 Get the URL or URLs to load for this module's JS in debug mode.
 
 getSkipFunction ()
 Get the skip function.
 
 getSource ()
 Get the origin of this module.
 
 getStyles (ResourceLoaderContext $context)
 Get all CSS for this module for a given skin.
 
 getStyleURLsForDebug (ResourceLoaderContext $context)
 Get the URL or URLs to load for this module's CSS in debug mode.
 
 getTargets ()
 Get target(s) for the module, eg ['desktop'] or ['desktop', 'mobile'].
 
 getTemplates ()
 Takes named templates by the module and returns an array mapping.
 
 getType ()
 Get the module's load type.
 
 getVersionHash (ResourceLoaderContext $context)
 Get a string identifying the current version of this module in a given context.
 
 isKnownEmpty (ResourceLoaderContext $context)
 Check whether this module is known to be empty.
 
 setConfig (Config $config)
 
 setFileDependencies (ResourceLoaderContext $context, $files)
 Set in-object cache for file dependencies.
 
 setLogger (LoggerInterface $logger)
 
 setMessageBlob ( $blob, $lang)
 Set in-object cache for message blobs.
 
 setName ( $name)
 Set this module's name.
 
 shouldEmbedModule (ResourceLoaderContext $context)
 Check whether this module should be embeded rather than linked.
 

Static Public Member Functions

static compileUnresolvedDependencies (array &$registryData)
 Optimize the dependency tree in $this->modules.
 
static getLegacyModules ()
 
static getStartupModules ()
 Base modules required for the base environment of ResourceLoader.
 
static getStartupModulesUrl (ResourceLoaderContext $context)
 Get the load URL of the startup modules.
 
- Static Public Member Functions inherited from ResourceLoaderModule
static expandRelativePaths (array $filePaths)
 Expand directories relative to $IP.
 
static getRelativePaths (array $filePaths)
 Make file paths relative to MediaWiki directory.
 

Protected Member Functions

 getAllModuleHashes (ResourceLoaderContext $context)
 Helper method for getDefinitionSummary().
 
 getConfigSettings ( $context)
 
- Protected Member Functions inherited from ResourceLoaderModule
 buildContent (ResourceLoaderContext $context)
 Bundle all resources attached to this module into an array.
 
 getDeprecationInformation ()
 Get JS representing deprecation information for the current module if available.
 
 getFileDependencies (ResourceLoaderContext $context)
 Get the files this module depends on indirectly for a given skin.
 
 getLessVars (ResourceLoaderContext $context)
 Get module-specific LESS variables, if any.
 
 getLogger ()
 
 getMessageBlob (ResourceLoaderContext $context)
 Get the hash of the message blob.
 
 saveFileDependencies (ResourceLoaderContext $context, $localFileRefs)
 Set the files this module depends on indirectly for a given skin.
 
 validateScriptFile ( $fileName, $contents)
 Validate a given script file; if valid returns the original source.
 

Static Protected Member Functions

static getImplicitDependencies (array $registryData, $moduleName)
 Recursively get all explicit and implicit dependencies for to the given module.
 
- Static Protected Member Functions inherited from ResourceLoaderModule
static javaScriptParser ()
 
static safeFileHash ( $filePath)
 Compute a non-cryptographic string hash of a file's contents.
 
static safeFilemtime ( $filePath)
 Safe version of filemtime(), which doesn't throw a PHP warning if the file doesn't exist.
 

Protected Attributes

 $configVars = []
 
 $targets = [ 'desktop', 'mobile' ]
 
- Protected Attributes inherited from ResourceLoaderModule
Config $config
 
 $contents = []
 
array bool $deprecated = false
 
 $fileDeps = []
 
LoggerInterface $logger
 
 $msgBlobs = []
 
 $name = null
 
 $origin = self::ORIGIN_CORE_SITEWIDE
 
 $targets = [ 'desktop' ]
 
 $versionHash = []
 

Additional Inherited Members

- Public Attributes inherited from ResourceLoaderModule
const LOAD_GENERAL = 'general'
 
const LOAD_STYLES = 'styles'
 
const ORIGIN_ALL = 10
 
const ORIGIN_CORE_INDIVIDUAL = 2
 
const ORIGIN_CORE_SITEWIDE = 1
 
const ORIGIN_USER_INDIVIDUAL = 4
 
const ORIGIN_USER_SITEWIDE = 3
 
const TYPE_COMBINED = 'combined'
 
const TYPE_SCRIPTS = 'scripts'
 
const TYPE_STYLES = 'styles'
 

Detailed Description

Module for ResourceLoader initialization.

See also https://www.mediawiki.org/wiki/ResourceLoader/Features#Startup_Module

The startup module, as being called only from ResourceLoaderClientHtml, has the ability to vary based extra query parameters, in addition to those from ResourceLoaderContext:

Definition at line 36 of file ResourceLoaderStartUpModule.php.

Member Function Documentation

◆ compileUnresolvedDependencies()

static ResourceLoaderStartUpModule::compileUnresolvedDependencies ( array $registryData)
static

Optimize the dependency tree in $this->modules.

The optimization basically works like this: Given we have module A with the dependencies B and C and module B with the dependency C. Now we don't have to tell the client to explicitly fetch module C as that's already included in module B.

This way we can reasonably reduce the amount of module registration data send to the client.

Parameters
array&$registryDataModules keyed by name with properties:
  • string 'version'
  • array 'dependencies'
  • string|null 'group'
  • string 'source'

Definition at line 188 of file ResourceLoaderStartUpModule.php.

References ResourceLoaderModule\$name, as, and getImplicitDependencies().

Referenced by getModuleRegistrations().

◆ getAllModuleHashes()

ResourceLoaderStartUpModule::getAllModuleHashes ( ResourceLoaderContext  $context)
protected

Helper method for getDefinitionSummary().

Parameters
ResourceLoaderContext$context
Returns
string SHA-1

Definition at line 437 of file ResourceLoaderStartUpModule.php.

References $context.

Referenced by getDefinitionSummary().

◆ getConfigSettings()

ResourceLoaderStartUpModule::getConfigSettings (   $context)
protected

◆ getDefinitionSummary()

ResourceLoaderStartUpModule::getDefinitionSummary ( ResourceLoaderContext  $context)

Get the definition summary for this module.

Parameters
ResourceLoaderContext$context
Returns
array

Reimplemented from ResourceLoaderModule.

Definition at line 413 of file ResourceLoaderStartUpModule.php.

References $context, $IP, getAllModuleHashes(), ResourceLoaderModule\getConfig(), getConfigSettings(), and global.

◆ getGroup()

ResourceLoaderStartUpModule::getGroup ( )
Returns
string

Reimplemented from ResourceLoaderModule.

Definition at line 455 of file ResourceLoaderStartUpModule.php.

◆ getImplicitDependencies()

static ResourceLoaderStartUpModule::getImplicitDependencies ( array  $registryData,
  $moduleName 
)
staticprotected

Recursively get all explicit and implicit dependencies for to the given module.

Parameters
array$registryData
string$moduleName
Returns
array

Definition at line 144 of file ResourceLoaderStartUpModule.php.

References as.

Referenced by compileUnresolvedDependencies().

◆ getLegacyModules()

static ResourceLoaderStartUpModule::getLegacyModules ( )
static

Definition at line 334 of file ResourceLoaderStartUpModule.php.

References $wgIncludeLegacyJavaScript, and global.

◆ getModuleRegistrations()

ResourceLoaderStartUpModule::getModuleRegistrations ( ResourceLoaderContext  $context)

◆ getPreloadLinks()

ResourceLoaderStartUpModule::getPreloadLinks ( ResourceLoaderContext  $context)
Parameters
ResourceLoaderContext$context
Returns
array

Reimplemented from ResourceLoaderModule.

Definition at line 318 of file ResourceLoaderStartUpModule.php.

References $context, and getStartupModulesUrl().

◆ getScript()

ResourceLoaderStartUpModule::getScript ( ResourceLoaderContext  $context)

◆ getStartupModules()

static ResourceLoaderStartUpModule::getStartupModules ( )
static

Base modules required for the base environment of ResourceLoader.

Returns
array

Definition at line 330 of file ResourceLoaderStartUpModule.php.

Referenced by ResourcesTest\testIllegalDependencies().

◆ getStartupModulesUrl()

static ResourceLoaderStartUpModule::getStartupModulesUrl ( ResourceLoaderContext  $context)
static

Get the load URL of the startup modules.

This is a helper for getScript(), but can also be called standalone, such as when generating an AppCache manifest.

Parameters
ResourceLoaderContext$context
Returns
string

Definition at line 354 of file ResourceLoaderStartUpModule.php.

References $context.

Referenced by getPreloadLinks(), and getScript().

◆ isRaw()

ResourceLoaderStartUpModule::isRaw ( )
Returns
bool

Reimplemented from ResourceLoaderModule.

Definition at line 310 of file ResourceLoaderStartUpModule.php.

◆ supportsURLLoading()

ResourceLoaderStartUpModule::supportsURLLoading ( )
Returns
bool

Reimplemented from ResourceLoaderModule.

Definition at line 403 of file ResourceLoaderStartUpModule.php.

Member Data Documentation

◆ $configVars

ResourceLoaderStartUpModule::$configVars = []
protected

Definition at line 39 of file ResourceLoaderStartUpModule.php.

◆ $targets

ResourceLoaderStartUpModule::$targets = [ 'desktop', 'mobile' ]
protected

Definition at line 40 of file ResourceLoaderStartUpModule.php.


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