Manual:Variable/ja

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

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

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

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


 * 1) 変数のためにマジックワードIDを選択する.  これは変数定義の様々な部分を結びつけるために使用される内部の識別子のみです: wikiテキストで現れる名前と値を変数に割り当てるPHPコードです. 拡張機能によって独自に関係にあるIDを選択することが最善で他の拡張機能によって使用される他のマジックワードIDと混同することはありそうにないでしょう. 共通の戦略は のようなものを使用することです. canonicalnameは拡張機能で登録する名前です(下記のをご覧ください).
 * 2) Define the names that will appear in wiki text. To accomplish this, you will need to define and register https://www.mediawiki.org/wiki/Manual:Magic_wordsWords in a file through https://www.mediawiki.org/wiki/Manual:Magic_words. Your names can be case sensitive and language dependent. See magic words for more information.
 * 3) Provide PHP code to assign a value to the variable. To accomplish this, you will need to define and register a hook function with man-hooks>Special:MyLanguage/Manual:Hooks/ParserGetVariableValueSwitch|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 ParserGetVariableValueSwitch. Parser functions have a different method for associating an ID with PHP code. See Manual:Parser functions for more information.

Registering custom variables
This is a two step process:


 * 1) Define the variable so that it gets included in . This requires adding a member to $wgExtensionCredits.  For more information, please see Registering features with MediaWiki.
 * 2) Declare the magic word ID as a variable. To accomplish this we write and assign a hook to , the subject of this article.

Example
''Note: if you wish to use this example as a coding template, please replace  with something unique to your project so that there is less risk of name clashes with MediaWiki or any of its extensions. For example, if your extension was named  and you were reasonably sure that no-one else had an extension with constants, variables, functions, or classes beginning 'BEST_', 'wgBEST', 'wfBEST', or even 'BEST' you might want to replace 'My' with 'BEST'.''

File

File

For more information

 * - discusses default magic words built into the core MediaWiki package
 * - reviews the different kinds of magic words and how MediaWiki tells apart variables, parser functions, and templates.
 * Markup spec