Add TitleParser and TitleFormatter to MediaWikiServices
[lhc/web/wiklou.git] / includes / MediaWikiServices.php
index 6c650aa..5bb5597 100644 (file)
@@ -4,6 +4,7 @@ namespace MediaWiki;
 use Config;
 use ConfigFactory;
 use EventRelayerGroup;
+use GenderCache;
 use GlobalVarConfig;
 use Hooks;
 use LBFactory;
@@ -19,6 +20,8 @@ use SiteLookup;
 use SiteStore;
 use WatchedItemStore;
 use SkinFactory;
+use TitleFormatter;
+use TitleParser;
 
 /**
  * Service locator for MediaWiki core services.
@@ -66,6 +69,8 @@ class MediaWikiServices extends ServiceContainer {
        /**
         * Returns the global default instance of the top level service locator.
         *
+        * @since 1.27
+        *
         * The default instance is initialized using the service instantiator functions
         * defined in ServiceWiring.php.
         *
@@ -91,6 +96,8 @@ class MediaWikiServices extends ServiceContainer {
        /**
         * Replaces the global MediaWikiServices instance.
         *
+        * @since 1.28
+        *
         * @note This is for use in PHPUnit tests only!
         *
         * @throws MWException if called outside of PHPUnit tests.
@@ -115,6 +122,8 @@ class MediaWikiServices extends ServiceContainer {
         * instance. getInstance() will return a different MediaWikiServices object
         * after every call to resetGlobalServiceLocator().
         *
+        * @since 1.28
+        *
         * @warning This should not be used during normal operation. It is intended for use
         * when the configuration has changed significantly since bootstrap time, e.g.
         * during the installation process or during testing.
@@ -194,6 +203,8 @@ class MediaWikiServices extends ServiceContainer {
         * storage layer will result in an error. Use resetGlobalInstance() to restore normal
         * operation.
         *
+        * @since 1.28
+        *
         * @warning This is intended for extreme situations only and should never be used
         * while serving normal web requests. Legitimate use cases for this method include
         * the installation process. Test fixtures may also use this, if the fixture relies
@@ -217,6 +228,8 @@ class MediaWikiServices extends ServiceContainer {
         * returns from after pcntl_fork(). It's also safe, but generally unnecessary,
         * to call this method from the parent process.
         *
+        * @since 1.28
+        *
         * @note This is intended for use in the context of process forking only!
         *
         * @see resetGlobalInstance()
@@ -235,6 +248,8 @@ class MediaWikiServices extends ServiceContainer {
        /**
         * Resets the given service for testing purposes.
         *
+        * @since 1.28
+        *
         * @warning This is generally unsafe! Other services may still retain references
         * to the stale service instance, leading to failures and inconsistencies. Subclasses
         * may use this method to reset specific services under specific instances, but
@@ -264,6 +279,8 @@ class MediaWikiServices extends ServiceContainer {
         * resetting of global services is allowed. In general, services should not be reset
         * individually, since that may introduce inconsistencies.
         *
+        * @since 1.28
+        *
         * This method will throw an exception if:
         *
         * - self::$resetInProgress is false (to allow all services to be reset together
@@ -321,6 +338,7 @@ class MediaWikiServices extends ServiceContainer {
         * when creating the MainConfig service. Application logic should
         * use getMainConfig() to get a Config instances.
         *
+        * @since 1.27
         * @return Config
         */
        public function getBootstrapConfig() {
@@ -328,6 +346,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.27
         * @return ConfigFactory
         */
        public function getConfigFactory() {
@@ -338,6 +357,7 @@ class MediaWikiServices extends ServiceContainer {
         * Returns the Config object that provides configuration for MediaWiki core.
         * This may or may not be the same object that is returned by getBootstrapConfig().
         *
+        * @since 1.27
         * @return Config
         */
        public function getMainConfig() {
@@ -345,6 +365,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.27
         * @return SiteLookup
         */
        public function getSiteLookup() {
@@ -352,6 +373,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.27
         * @return SiteStore
         */
        public function getSiteStore() {
@@ -359,6 +381,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.27
         * @return StatsdDataFactory
         */
        public function getStatsdDataFactory() {
@@ -366,6 +389,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.27
         * @return EventRelayerGroup
         */
        public function getEventRelayerGroup() {
@@ -373,6 +397,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.27
         * @return SearchEngine
         */
        public function newSearchEngine() {
@@ -381,6 +406,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.27
         * @return SearchEngineFactory
         */
        public function getSearchEngineFactory() {
@@ -388,6 +414,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.27
         * @return SearchEngineConfig
         */
        public function getSearchEngineConfig() {
@@ -395,6 +422,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.27
         * @return SkinFactory
         */
        public function getSkinFactory() {
@@ -402,6 +430,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.28
         * @return LBFactory
         */
        public function getDBLoadBalancerFactory() {
@@ -409,6 +438,7 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.28
         * @return LoadBalancer The main DB load balancer for the local wiki.
         */
        public function getDBLoadBalancer() {
@@ -416,12 +446,36 @@ class MediaWikiServices extends ServiceContainer {
        }
 
        /**
+        * @since 1.28
         * @return WatchedItemStore
         */
        public function getWatchedItemStore() {
                return $this->getService( 'WatchedItemStore' );
        }
 
+       /**
+        * @since 1.28
+        * @return GenderCache
+        */
+       public function getGenderCache() {
+               return $this->getService( 'GenderCache' );
+       }
+       /**
+        * @since 1.28
+        * @return TitleFormatter
+        */
+       public function getTitleFormatter() {
+               return $this->getService( 'TitleFormatter' );
+       }
+
+       /**
+        * @since 1.28
+        * @return TitleParser
+        */
+       public function getTitleParser() {
+               return $this->getService( 'TitleParser' );
+       }
+
        ///////////////////////////////////////////////////////////////////////////
        // NOTE: When adding a service getter here, don't forget to add a test
        // case for it in MediaWikiServicesTest::provideGetters() and in