Daniel Kinzler has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/250429

Change subject: Use InterwikiLookup in Title.
......................................................................

Use InterwikiLookup in Title.

This makes the use of the global InterwikiLookup singleton more explicit
in the Title class. It does not remove the strong binding between Title
and InterwikiLookup.

Change-Id: Iaeb7c418af17fe19f170487f5364040da6052699
---
M includes/Title.php
1 file changed, 17 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/29/250429/2

diff --git a/includes/Title.php b/includes/Title.php
index 9ada4f3..a4257b6 100644
--- a/includes/Title.php
+++ b/includes/Title.php
@@ -21,6 +21,7 @@
  *
  * @file
  */
+use MediaWiki\InterwikiLookup;
 
 /**
  * Represents a title within MediaWiki.
@@ -209,6 +210,18 @@
                // NOTE: we know that getTitleParser() returns a 
MediaWikiTitleCodec,
                //      which implements TitleFormatter.
                return self::getTitleParser();
+       }
+
+       /**
+        * B/C kludge: provide an InterwikiLookup for use by Title.
+        * Ideally, Title would have no methods that need this.
+        * Avoid usage of this singleton by using TitleValue
+        * and the associated services when possible.
+        *
+        * @return InterwikiLookup
+        */
+       private static function getInterwikiLookup() {
+               return MediaWikiServices::getInstance()->getInterwikiLookup();
        }
 
        function __construct() {
@@ -832,7 +845,7 @@
         */
        public function isLocal() {
                if ( $this->isExternal() ) {
-                       $iw = Interwiki::fetch( $this->mInterwiki );
+                       $iw = self::getInterwikiLookup()->fetch( 
$this->mInterwiki );
                        if ( $iw ) {
                                return $iw->isLocal();
                        }
@@ -880,7 +893,7 @@
                        return false;
                }
 
-               return Interwiki::fetch( $this->mInterwiki )->isTranscludable();
+               return self::getInterwikiLookup()->fetch( $this->mInterwiki 
)->isTranscludable();
        }
 
        /**
@@ -893,7 +906,7 @@
                        return false;
                }
 
-               return Interwiki::fetch( $this->mInterwiki )->getWikiID();
+               return self::getInterwikiLookup()->fetch( $this->mInterwiki 
)->getWikiID();
        }
 
        /**
@@ -1725,7 +1738,7 @@
 
                $query = self::fixUrlQueryArgs( $query, $query2 );
 
-               $interwiki = Interwiki::fetch( $this->mInterwiki );
+               $interwiki = self::getInterwikiLookup()->fetch( 
$this->mInterwiki );
                if ( $interwiki ) {
                        $namespace = $this->getNsText();
                        if ( $namespace != '' ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/250429
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaeb7c418af17fe19f170487f5364040da6052699
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to