Manual:Variable/ja


 * このページでは変数の作成方法について説明しています. 既定の変数については、 を参照してください. MediaWiki が内部的に使用する PHP グローバル変数については、Manual:wg変数 を参照してください. 

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

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

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

This is only an internal identifier that is used to tie together the various parts of the variable definition: the names that appear in wiki text, and the PHP code that assigns a value to the variable. It is best to choose an ID that will be uniquely associated with your extension and is unlikely to be confused with other magic word IDs used by other extensions. A common strategy is to use something like  where canonicalname is the name under which you will register your extension (see Registering custom variables below).
 * 1) 変数のためにマジックワードIDを選択する. これは変数定義の様々な部分を結びつけるために使用される内部の識別子のみ、すなわちウィキテキストで現れる名前と値を変数に割り当てるPHPコードです. 拡張機能によって独自に関係にあるIDを選択することが最善で他の拡張機能によって使用される他のマジックワードIDと混同することはありそうにないでしょう. 共通の戦略は   のようなものを使用することです. canonicalname は拡張機能で登録する名前です (下記のカスタム変数を登録するをご覧ください).
 * 1) ウィキテキストで現れる名前を定義する. これを実現するためには、$magic を用いて   配列をファイルに定義する必要があります. 詳細な情報については  を参照してください. 名前は大文字と小文字を区別して独立した言語です.
 * 2) 値を変数に割り当てるPHPコードを準備する.  これを実現するためには、フック関数を定義して  で登録する必要があります.

上記の方法と一般的なマジックワードの定義方法との違いは、最後の のフック関数を定義する部分です. パーサー関数にはIDとPHPコードを関連付ける別のメソッドがあります. 詳細はManual:パーサー関数をご覧ください.

カスタム変数を登録する
これは 2 段階の作業です:


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

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

ファイル

ファイル

詳細な情報

 * - MediaWiki コアのパッケージに組み込まれている既定のマジックワードについて議論します
 * - さまざまな種類のマジックワードや、MediaWiki がどのように変数、パーサー関数、テンプレートを区別して伝えるのかを再検討しています.
 * Markup spec