Manual:Parser.php/ja
From MediaWiki.org
[edit] 説明
このファイルはclass Parserにあるものを含みます。class Parserはfunction parseを含みます。function parseはwikitextの$textを解析するためにOutputPage.phpのaddPrimaryWikiText関数から呼び出されます。この関数パーサはnowiki、pre、math、とhieroをストリップしてレンダーするfunction stripを呼び出します; 例えば、nowikiタグの間のそれぞれのテキストは一時コードによって置き換えられ、最後はストリップ解除のオペレーションでオリジナルのテキストに置き換えられます。その後でXMLスタイルのタグのエクステンションが処理されます。
stripのコールの前後に一つのフックがあります。次のセクションをご覧下さい。 その関数が$text文字列をwikitextからHTMLに変換するfunction internalParseを呼び出した後です。
この関数はhook ParserBeforeInternalParseで始まり次の順番で呼び出されます;
- function replaceVariables: 再帰的に変数、テンプレートとテンプレートパラメータを拡張します; 次のものを呼び出します:
- function replace_callback: 二重もしくは三重中括弧のペアに関してwikitextを解析する。
- function braceSubstitution: 変数とテンプレートを拡張する。
- パイプが存在しない場合、function variableSubstitutionが呼び出されます。
- 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:ExpandTemplatesはstrip とunstripコールの間の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 |

