Manual:Variable/ru


 * Эта страница о создании переменных. Как использовать имеющиеся переменные, см. . О глобальных переменных PHP, используемых в MediaWiki, см. Manual:wg variable.

Переменные - это кусочки вики-текста, которые выглядят как шаблоны и имеют привязанные на уровне кода значения. Стандартная вики-разметка, такая как или  - примеры переменных. Вы также можете расширять вики-разметку определяя свои собственные переменные.

Данный термин является чем-то неправильным(по отношению к пользователю), потому что в переменной нет ничего переменного. Конечные пользователи не могут изменить значение переменной, поскольку оно предопределено пакетом кода PHP, который вычисляет ее значение. Термин «переменные» происходит от источника их значения в программировании: переменная в PHP или что-то, что может быть присвоено переменной, например, строка, число, выражение или возвращаемое значение функции.

Определение пользовательских переменных
Переменные - это особой конструкции магические слова, поэтому нашим первым шагом будет определение переменной как магического слова:


 * 1) Выберите магический идентификатор(ID) слова для вводимой Вами переменной. Это только внутренний идентификатор, который используется для связи различных частей определения переменной: имен, которые появляются в вики-тексте, и кода PHP, который будет назначать значение переменной. Лучше всего выбрать идентификатор, который будет однозначно связан с вашим расширением(шаблоном) и вряд ли будет перепутан с другими магическими идентификаторами слов, используемыми другими расширениями(шаблонами). Обычная стратегия - использовать что-то вроде , где 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 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 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  .  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