Manual:Writing maintenance scripts/uk

This is a step-by-step tutorial on writing a maintenance script based on the  class (see ) which was introduced in MediaWiki 1.16 to make it easier to write command-line MediaWiki maintenance scripts.

Example script
We'll walk through a helloWorld.php maintenance script that simply prints “Hello, World”. This program contains the minimum amount of code needed to run as well as the expected copyright header (for alternative headers, see copyright headers):

Цей скрипт просто надрукує “Привіт усім!”, але він також уже має вбудовану довідку. Просто запустіть його з параметром --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

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


 * We include Maintenance.php. This defines the   which has method to parse arguments, read the console, get the database, etc.  It is best to use the full path to Maintenance.php.


 * Ми перевизначити клас Maintenance, а потім, в

Вказуємо, що при запуску файлу має викликатися клас HelloWorld і лише тоді, якщо скрипт запущено з командного рядка (а не з браузера). Internally,  loads another file  which autoloads MediaWiki classes and configuration, and then


 * The execute function that we've defined is executed, and our script does its work.

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

To add a command-line option, add a constructor to  that calls  's   and update the   method to use the new option. 's parameters are, so:

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

 $ 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