Manual:Variable/ja


 * このページでは変数の作成方法について説明されています. デフォルトの変数については、Help:Variables/jaをご覧下さい. 

変数は小さなwikitextでテンプレートのようなものですが、パラメータを持たず、決め打ちされた値が割り当てられます. 標準的なwikiのマークアップ、例えば もしくは などは変数の例です. 独自のカスタム変数を定義することでwikiマークアップを拡張することも出来ます.

用語は多少間違っています. 変数について変えられるものが存在しないからです. エンドユーザは変数の値を変更することは出来ません. 値を計算するたくさんのPHPコードによってあらかじめ決定されているからです. "変数(variable)"という用語は「変わる(vary)」に由来しています: php変数もしくは変数に割り当てることができるもの、例えば、文字列、数字、式、もしくは関数の戻り値です.

カスタム変数を定義する
変数はマジックワードの特別な場合で、最初の段階でマジックワードとして変数を定義します:


 * 1) 変数のためにマジックワードIDを選択する.  これは変数定義の様々な部分を結びつけるために使用される内部の識別子のみです: wikiテキストで現れる名前と値を変数に割り当てるPHPコードです. エクステンションによって独自に関係にあるIDを選択することがベストで他のエクステンションによって使用される他のマジックワードIDと混同することはありそうにないでしょう. 共通の戦略は のようなものを使用することです. canonicalnameはエクステンションで登録する名前です(下記のをご覧下さい).
 * 2) wikiテキストで現れる名前を定義する.  これを達成するために、フック関数を定義してLanguageGetMagicで登録する必要があります. フック関数は配列に渡されフック関数はキーが内部マジックワードIDで値が変数のために使用したいすべての名前を含む配列であるエントリを追加します. 名前は大文字と小文字を区別して独立した言語です. 詳細な情報についてはLanguageGetMagicとマジックワードをご覧下さい.
 * 3) 値を変数に割り当てるPHPコードを準備する これを実現するためには、フック関数を定義してManual:Hooks/ParserGetVariableValueSwitchで登録する必要があります.

Note that the only difference between this process and the general process for defining magic words is the last step: defining a hook function for Manual:Hooks/ParserGetVariableValueSwitch. Parser functions have a different method for associating an ID with PHP code. See Manual:Parser functions for more information.

カスタム変数を登録する
これは２つの段階のプロセスです:


 * 1) 変数が に含まれるように変数を定義します これはメンバーをManual:$wgExtensionCreditsに追加することが求められます. もっと詳細な情報については、MediaWikiで機能を登録するをご覧下さい.
 * 2) マジックワードIDを変数として宣言する これを実現するためにフックを書いて 、この記事の題目に割り当てします. 　ノート: このフックは変数で使用するため のみ です. パーサ関数を定義するために使用してはなりません.

例
''注: コーディングテンプレートとしてこの例をしたい場合、MediaWikiもしくは、他のエクステンションの名前との衝突をする危険性を減らすために を何かあなたのプロジェクトでユニークなものに置き換えて下さい. 例えば、エクステンションが という名前で'My'を'BEST'で置き換えたい場合、定数、変数、関数、もしくは'BEST_'、'wgBEST'、'wfBEST'、もしくは'BEST'をもっていることを確認して下さい. ''

ファイル

ファイル

詳細な情報

 * Help:Variables/ja - MediaWikiパッケージコアに組み込まれているデフォルトの変数を検討します
 * Manual:Magic words/ja - 異なる種類のマジックワードとMediaWikiがどのように変数、パーサ関数、テンプレートを区別して伝えるのかを再検討しています.
 * Markup spec/ja