Manual:Writing maintenance scripts/uk

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

This is written as a step-by-step tutorial.

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

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

 $ php helloWorld.php Hello, World! $ 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 Огляд коду скрипта:

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

Вказуємо, що при запуску файлу має викликатися клас HelloWorld і лише тоді, якщо скрипт запущено з командного рядка (а не з браузера).
 * Рядки 20-21
 * Рядок 15
 * The execute function that we've provided is executed.

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

Щоб передавати параметри скриптові, слід додати конструктор і в ньому викликати метод addOption. Крім того, треба внести зміни до функції execute</tt>. addOption's parameters are $name, $description, $required = false, $withArg = false, $shortName = false:

На цей раз, коли виконується, вихід із сценаріїв змін helloWorld.php</tt> залежно від аргументу, якщо:

<pre style="overflow:auto;"> $ php helloWorld.php Hello, World! $ php helloWorld.php --name=Mark Hello, Mark! $ php helloWorld.php --help Usage: php helloWorld.php [--conf|--dbpass|--dbuser|--globals|--help|--name|--quiet|--wiki] …   name : Who to say Hello to