Manual:Writing maintenance scripts/pt-br

Na versão 1.16 do MediaWiki, foi introduzida a classe de manutenção para tornar mais fácil a escrita de scripts de linha de comando de manutenção do software.

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:


 * 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.


 * Nós substituímos a classe Maintenance e, em seguida, em


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

Internally,  loads another file  which autoloads MediaWiki classes and configuration, and then


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

Adding a description
"But what is this maintenance script for?" I can hear you asking.

We can put a description at the top of the " " output by using the  method in our constructor:

The output now gives us the description:

$ php helloWorld.php --help

Say hello.

Usage: php helloWorld.php [--conf|--dbpass|--dbuser|--globals|--help|--quiet|--wiki] …

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.

Para adicionar uma opção, adicione um construtor com uma chamada addOption e atualize o método execute</tt> para usar a nova opção. Os parâmetros de addOptionsão $name, $description, $required = false, $withArg = false, $shortName = false:

Desta vez, quando executado, a saída do script helloWorld.php</tt> muda, dependendo do argumento fornecido:

<pre style="overflow:auto"> $ php helloWorld.php Hello, World! $ php helloWorld.php --name=Mark Hello, Mark! $ php helloWorld.php --help

Say hello.

Usage: php helloWorld.php [--conf|--dbpass|--dbuser|--globals|--help|--name|--quiet|--wiki] …   name : Who to say Hello to

Extensions
If your maintenance script is for an extension, then you should add a requirement that the extension is installed:

Mostly this provides a nice error message when the extension is not enabled on that wiki (likely on wiki farms). This will only work for extensions that use.