Manual:$wgParser

This page is a translated version of the page Manual:$wgParser and the translation is 100% complete.

説明

パーサーオブジェクトは、wikiページに含まれるタグとウィキテキストを解析する役割を担っています。 パーサー拡張フックもパーサーオブジェクトに登録される。

代わりにMediaWikiServices::getInstance()->getParser()を使用してください(phab:T160811)。

動作モード

$wgParser は、includes/Setup.php の中で以下のコードで呼び出されます。

$wgParser = new StubObject( 'wgParser', $wgParserConf['class'], array( $wgParserConf ) );

StubObjectはincludes/StubObject.phpで定義されています。

wgParserConfは、includes/DefaultSettings.phpで以下のコードで定義されています。

$wgParserConf = array('class' => 'Parser',);

置換

MediaWiki バージョン:
1.32

新しいコードでは、代わりにdependency injectionを使用する必要があります。 パーサーは、Parserサービスの下のサービスロケーターで利用できるようになりました。 dependency injectionを使用するようにまだ変更されていない既存のコードは、サービスロケーターを直接呼び出すことができます。

public function render() {
    $parser = \MediaWiki\MediaWikiServices::getInstance()->getParser();
    $text = $parser->parse(
        ...
    )->getText();
}