Manual:Parser.php/ja

From MediaWiki.org

Jump to: navigation, search
MediaWiki File: Parser.php
Location: /includes/
Source code: HEAD

1.13.21.12.11.6.10

Classes: Parser

[edit] 説明

このファイルはclass Parserにあるものを含みます。class Parserfunction parseを含みます。function parseはwikitextの$textを解析するためにOutputPage.phpaddPrimaryWikiText関数から呼び出されます。この関数パーサはnowikipremath、とhieroをストリップしてレンダーするfunction stripを呼び出します; 例えば、nowikiタグの間のそれぞれのテキストは一時コードによって置き換えられ、最後はストリップ解除のオペレーションでオリジナルのテキストに置き換えられます。その後でXMLスタイルのタグのエクステンションが処理されます。

stripのコールの前後に一つのフックがあります。次のセクションをご覧下さい。 その関数が$text文字列をwikitextからHTMLに変換するfunction internalParseを呼び出した後です。

この関数はhook ParserBeforeInternalParseで始まり次の順番で呼び出されます;

  • function replaceVariables: 再帰的に変数、テンプレートとテンプレートパラメータを拡張します; 次のものを呼び出します:
    • function replace_callback: 二重もしくは三重中括弧のペアに関してwikitextを解析する。
    • function braceSubstitution: 変数とテンプレートを拡張する。
      • パイプが存在しない場合、function variableSubstitutionが呼び出されます。
        • 中括弧の間のテキストが変数の名前である場合function getVariableValueが呼び出されます。
          • 時間に依存する変数を評価するために、PHP関数のtimedateが呼び出されます。
        • 左中括弧の後で、コアパーサ関数のタイトルとコロンがある場合、 CoreParserFunctions.phpに関連した関数が呼び出されます。
      • function createAssocArgs: "a=3"、"5"、"a=4"、と"8"といったパラメータの配列定義を連想配列に変換します。1、2がインデックスでパラメータの値は4、5、8といった配列の値とします。
    • function argSubstitution: テンプレートパラメータを拡張します。
  • function doHeadings: ヘッダーコードを置き換えます: ==a==<h2>a</h2>などになります。
  • DateFormatter.phpにあるfunction reformat: converts dates and times according to preferences
  • function doAllQuotes: replaces double and triple quotation marks by <i> and <b>.
  • function replaceInternalLinks: 内部リンクをHTMLに変換します。
  • function replaceExternalLinks: 外部リンクをHTMLに変換します。

tidyがある場合の後で、それの前後のフックが伴われます。

ファイルはSpecial:ExpandTemplatesのために使用されるfunction preprocessを含みます。Special:ExpandTemplatesstripunstripコールの間のreplaceVariables関数のコールを含みます。

ファイルが一つの関数をセットアップしてそれを定義するPHP関数の名前でパーサ関数のmagic_word_idを関連付けるときに呼び出されるfunction setFunctionHookを含みます。(パーサ関数エクステンションもご覧下さい)。この情報はarray mFunctionHooksに保存されます。array mFunctionSynonymsも作成されます。ケースセンシティブの論理値はindexとして、wikitextで使用されるマジックワード付きの値はindexesとして、マジックワードのIDは値として。これらの配列は解析の間に使用されます。

[edit] フック

バージョン フック 説明
1.5.0 MediaWiki hooks/ParserAfterStrip
1.5.0 MediaWiki hooks/ParserAfterTidy 最後の処理を十分にレンダーされたページの出力に追加するために使用されます
1.6.0 MediaWiki hooks/ParserBeforeInternalParse
1.5.0 MediaWiki hooks/ParserBeforeStrip 内部処理が適用される前の生のwikitextを処理するために使用されます
1.5.0 MediaWiki hooks/ParserBeforeTidy ページに対するほぼレンダーされたHTMLコードを処理するために使用されます(html tidy処理が起こる前です)
1.6.0 MediaWiki hooks/ParserClearState
1.6.0 MediaWiki hooks/ParserGetVariableValueSwitch
1.6.0 MediaWiki hooks/ParserGetVariableValueTs
1.6.0 MediaWiki hooks/ParserGetVariableValueVarCache
1.6.0 MediaWiki hooks/ParserTestParser

[edit] 関連項目

Personal tools