30 private string $mCanonicalServer;
32 private string $mServer;
34 private string $mPath;
41 public function __construct(
string $canonicalServer,
string $path, ?
string $server =
null ) {
42 $this->mCanonicalServer = $canonicalServer;
44 $this->mServer = $server ?? $canonicalServer;
53 return $this->mCanonicalServer;
64 return parse_url( $this->mCanonicalServer, PHP_URL_HOST ) ?: $this->mCanonicalServer;
75 return $this->mCanonicalServer . $this->getLocalUrl( $page, $fragmentId );
85 public function getUrl( $page, $fragmentId =
null ) {
101 return $this->mServer . $this->getLocalUrl( $page, $fragmentId );
114 private function getLocalUrl( $page, $fragmentId =
null ) {
115 $page =
wfUrlencode( str_replace(
' ',
'_', $page ) );
117 if ( is_string( $fragmentId ) && $fragmentId !==
'' ) {
121 return str_replace(
'$1', $page, $this->mPath );
wfUrlencode( $s)
We want some things to be included as literal characters in our title URLs for prettiness,...