Manual:Writing maintenance scripts/pt-br

A versão 1.16 do MediaWiki introduziu a classe de manutenção (Maintenance.php) para tornar mais fácil a escrita de scripts de linha de comando de manutenção do software.

Esta página foi escrita como um tutorial passo-a-passo.

Exemplo de script
Para descrever a criação de scripts de manutenção, vamos escrever um arquivo helloWorld.php, um script que simplesmente imprime “Hello, World”. Este programa contém a quantidade mínima de código necessário para ser executado, bem como o cabeçalho de direitos autorais esperado (para cabeçalhos alternativos, consulte cabeçalhos de direitos autorais):

O programa simplesmente imprimirá “Hello, World!” porém já possui um parâmetro --help (e outras opções de linha de comando). Saída de exemplo:

$ 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

Uma visão geral:


 * Linha 12
 * Logicamente, se vamos escrever um script de manutenção, temos que incluir Maintenance.php. Ele cuida da criação do Autoloading e itens afins. O melhor é usar o caminho completo para Maintenance.php.


 * Linha 14
 * Nós substituímos a classe Manutenção e, em seguida, em


 * Linhas 20 & 21
 * dizemos para a classe Maintenance executar o script usando a classe HelloWorld, somente se for executado a partir da linha de comando.


 * Linha 15
 * A função execute que nós fornecemos é executada.

Análise de opções e argumentos
Cumprimentar o mundo está tudo bem, mas nós queremos ser capazes de cumprimentar as pessoas, também.

To add an option, add a constructor with a call addOption and update the execute method to use the new option. addOption's parameters are $name, $description, $required = false, $withArg = false, $shortName = false:

This time, when executed, the output of the helloWorld.php</tt> script changes depending on the argument provided:

$ 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

I18N
In order for the maintenance script to use the i18n file, it needs to be set in the appropriate place. Generally, this should be after the constructor. It is probably best to put it in the execute</tt> function.