Merge "resourceloader: Add $context to static functions in ResourceLoader"
[lhc/web/wiklou.git] / docs / globals.txt
index ecc5ab3..847fbed 100644 (file)
@@ -1,12 +1,10 @@
 globals.txt
 
-Globals are evil. The original MediaWiki code relied on
-globals for processing context far too often. MediaWiki
-development since then has been a story of slowly moving
-context out of global variables and into objects. Storing
-processing context in object member variables allows those
-objects to be reused in a much more flexible way. Consider
-the elegance of:
+Globals are evil. The original MediaWiki code relied on globals for processing
+context far too often. MediaWiki development since then has been a story of
+slowly moving context out of global variables and into objects. Storing
+processing context in object member variables allows those objects to be reused
+in a much more flexible way. Consider the elegance of:
 
     # Generate the article HTML as if viewed by a web request
     $article = new Article( Title::newFromText( $t ) );
@@ -27,48 +25,41 @@ versus
     $wgTitle = $oldTitle
     $wgArticle = $oldArticle
 
-Some of the current MediaWiki developers have an idle
-fantasy that some day, globals will be eliminated from
-MediaWiki entirely, replaced by an application object which 
-would be passed to constructors. Whether that would be an 
-efficient, convenient solution remains to be seen, but 
-certainly PHP 5 makes such object-oriented programming 
-models easier than they were in previous versions.
-
-For the time being though, MediaWiki programmers will have
-to work in an environment with some global context. At the 
-time of writing, 418 globals were initialised on startup by 
-MediaWiki. 304 of these were configuration settings, which 
-are documented in DefaultSettings.php. There is no 
-comprehensive documentation for the remaining 114 globals, 
-however some of the most important ones are listed below. 
-They are typically initialised either in index.php or in 
+Some of the current MediaWiki developers have an idle fantasy that some day,
+globals will be eliminated from MediaWiki entirely, replaced by an application
+object which would be passed to constructors. Whether that would be an
+efficient, convenient solution remains to be seen, but certainly PHP 5 makes
+such object-oriented programming models easier than they were in previous
+versions.
+
+For the time being though, MediaWiki programmers will have to work in an
+environment with some global context. At the time of writing, 418 globals were
+initialised on startup by MediaWiki. 304 of these were configuration settings,
+which are documented in DefaultSettings.php. There is no comprehensive
+documentation for the remaining 114 globals, however some of the most important
+ones are listed below. They are typically initialised either in index.php or in
 Setup.php.
 
+$wgTitle
+       Title object created from the request URL.
 
 $wgOut
        OutputPage object for HTTP response.
 
 $wgUser
-       User object for the user associated with the current
-       request.
-
-$wgTitle
-       Title object created from the request URL.
+       User object for the user associated with the current request.
 
 $wgLang
-       Language object selected by user preferences
+       Language object selected by user preferences.
 
 $wgContLang
-       Language object associated with the wiki being
-       viewed.
-
-$wgArticle
-       Article object corresponding to $wgTitle.
+       Language object associated with the wiki being viewed.
 
 $wgParser
-       Parser object. Parser extensions register their
-       hooks here.
+       Parser object. Parser extensions register their hooks here.
+
+$wgRequest
+       WebRequest object, to get request data
 
-$wgLoadBalancer
-       A LoadBalancer object, manages database connections.
+$wgMemc, $messageMemc
+       Object caches