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.

Para adicionar uma opção, adicione um construtor com uma chamada addOption e atualize o método execute 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:

$ 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
Para que o script de manutenção use o arquivo i18n, ele precisa ser definido no local apropriado. Em geral, deve ser após o construtor. É provavelmente melhor colocá-lo na função execute</tt>.