Manual:Writing maintenance scripts/uk

Починаючи з версії 1.16, у MediaWiki з'явився клас для зручної роботи з допоміжними скриптами (Maintenance.php) з командного рядка.

Приклад
Створимо власний допоміжний скрипт helloWorld.php, який буде просто друкувати фразу “Привіт усім!”. У цьому скрипті буде мінімум коду, а також заголовок-коментар із застереженням про авторське право (див. усі заголовки-ліцензії):

Цей скрипт просто надрукує “Привіт усім!”, але він також уже має вбудовану довідку. Просто запустіть його з параметром --help:

$ php helloWorld.php Привіт усім! $ php helloWorld.php --help

Usage: php helloWorld.php [--conf|--dbpass|--dbuser|--globals|--help|--quiet|--wiki] conf : Location of LocalSettings.php, if not default dbpass : The password to use for this script dbuser : The DB user to use for this script globals : Output globals at the end of processing for debugging help : Display this help message quiet : Whether to supress non-error output wiki : For specifying the wiki ID

Огляд коду скрипта:


 * Рядок 12
 * Оскільки це допоміжний скрипт, то ми підключаємо файл Maintenance.php. Він подбає за автозавантаження класів і т.д. Найкраще слід використовувати повний шлях до файлу Maintenance.php.


 * Рядок 14
 * Створюємо наш новий клас під назвою HelloWorld, який розширює можливості класу Maintenance.


 * Рядки 20-21
 * Вказуємо, що при запуску файлу має викликатися клас HelloWorld і лише тоді, якщо скрипт запущено з командного рядка (а не з браузера).


 * Рядок 15
 * Функція execute - обов'язкова основна функція, в якій міститься код скрипту.

Передавання параметрів
Привітання усім одразу - це добре, але ми також хочемо надсилати привіт і окремим користувачам.

Щоб передавати параметри скриптові, слід додати конструктор і в ньому викликати метод addOption. Крім того, треба внести зміни до функції execute:

Цього разу під час запуску скрипт helloWorld.php</tt> буде друкувати різні фрази, залежно від параметра --name:

$ php helloWorld.php Привіт усім! $ php helloWorld.php --name=мамі Привіт мамі! $ php helloWorld.php --help Usage: php helloWorld.php [--conf|--dbpass|--dbuser|--globals|--help|--name|--quiet|--wiki] …   name : Кому передати привіт

Багатомовність
Ви також можете зробити свій допоміжний скрипт багатомовним, створивши або підключивши наявний файл i18n. Зазвичай, це робиться після конструктора, скажімо, у функції execute</tt>.