Manual:Variable/ru


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

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

Данный термин является чем-то неправильным, потому что в переменной нет ничего переменного. Конечные пользователи не могут изменить значение переменной, поскольку оно предопределено пакетом кода PHP, который вычисляет ее значение. Термин «переменные» происходит от источника их значения в программировании: переменная в 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). To accomplish this, you will need to define and register a hook function with.
 * 1) Выберите магический идентификатор(ID) слова для вводимой вами переменной. Это только внутренний идентификатор, который используется для связи различных частей определения переменной: имен, которые появляются в вики-тексте, и кода PHP, который будет назначать значение переменной. Лучше всего выбрать идентификатор, который будет однозначно связан с вашим расширением(шаблоном) и вряд ли будет перепутан с другими магическими идентификаторами слов, используемыми другими расширениями(шаблонами). Обычная стратегия - использовать что-то вроде , где canonicalname - это имя, под которым вы зарегистрируете свое расширение (см.Регистрация пользовательских переменных ниже).
 * 1) Определите имена, которые будут отображаться в вики-тексте. Для этого вам нужно будет определить массив   в файле. Смотрите  для получения дополнительной информации. Ваши имена могут быть чувствительны к регистру и языково-зависимыми.
 * 1) Укажите код PHP для присвоения значения переменной. Для этого вам нужно определить и зарегистрировать функцию ловушки(хука) с помощью ParserGetVariableValueSwitch.

Обратите внимание, что единственным отличием этого процесса (регистрации переменной) от общего процесса определения магических слов является последний шаг: определение функции ловушки(хука) для ParserGetVariableValueSwitch. Функции парсера имеют другой метод для привязки идентификатора к коду PHP. Смотрите Manual: Функции парсера для получения дополнительной информации. Parser functions have a different method for associating an ID with PHP code. See Manual:Parser functions for more information.

Регистрация пользовательских переменных
Данный процесс состоит из двух шагов:

To accomplish this we write and assign a hook to, the subject of this article.
 * 1) Определите переменную, чтобы она была включена в . Это требует добавления члена в  . Для получения дополнительной информации смотрите: «Регистрация функций в MediaWiki».
 * 1) Объявите ID магического слова как переменную. Для этого мы напишем и назначим ловушку(хук) для, предмета этой статьи.

Пример
''Примечание: Если вы хотите использовать этот пример в качестве шаблона кодирования, замените  чем-то уникальным для вашего проекта, чтобы снизить риск столкновения имен переменных с переменными из MediaWiki или любым из других расширений. Например, если ваше расширение было названо  и вы были достаточно уверены, что никто не имеет расширения с константами, переменными, функциями или классами, начинающимися с 'BEST_', 'wgBEST', 'wfBEST' или даже «BEST», вы можете заменить «My» на «BEST».''

Файл :

Файл

Смотрите также

 * - список магических слов встроенных по умолчанию в основной (core) пакет MediaWiki.
 * - рассмотрение различных видов магических слов и то, как MediaWiki различает переменные, функции парсера и шаблоны.
 * Спец разметка