Add small HtmlCacheUpdater service class to normalize purging code
[lhc/web/wiklou.git] / includes / ServiceWiring.php
index 1bb848f..d6b4d65 100644 (file)
@@ -218,6 +218,10 @@ return [
                return new GenderCache( $services->getNamespaceInfo() );
        },
 
+       'HtmlCacheUpdater' => function ( MediaWikiServices $services ) : HtmlCacheUpdater {
+               return new HtmlCacheUpdater();
+       },
+
        'HttpRequestFactory' =>
        function ( MediaWikiServices $services ) : HttpRequestFactory {
                return new HttpRequestFactory();
@@ -263,6 +267,7 @@ return [
 
        'LocalServerObjectCache' => function ( MediaWikiServices $services ) : BagOStuff {
                $cacheId = \ObjectCache::detectLocalServerCache();
+
                return \ObjectCache::newFromId( $cacheId );
        },
 
@@ -439,7 +444,8 @@ return [
                        wfUrlProtocols(),
                        $services->getSpecialPageFactory(),
                        $services->getLinkRendererFactory(),
-                       $services->getNamespaceInfo()
+                       $services->getNamespaceInfo(),
+                       LoggerFactory::getInstance( 'Parser' )
                );
        },
 
@@ -620,9 +626,10 @@ return [
        'SiteStore' => function ( MediaWikiServices $services ) : SiteStore {
                $rawSiteStore = new DBSiteStore( $services->getDBLoadBalancer() );
 
-               // TODO: replace wfGetCache with a CacheFactory service.
-               // TODO: replace wfIsHHVM with a capabilities service.
-               $cache = wfGetCache( wfIsHHVM() ? CACHE_ACCEL : CACHE_ANYTHING );
+               $cache = $services->getLocalServerObjectCache();
+               if ( $cache instanceof EmptyBagOStuff ) {
+                       $cache = ObjectCache::getLocalClusterInstance();
+               }
 
                return new CachingSiteStore( $rawSiteStore, $cache );
        },