Manual:Writing maintenance scripts/tr

Bu, komut satırı MediaWiki bakım komut dosyaları yazmayı kolaylaştırmak için MediaWiki 1.16'da sunulan  sınıfına ( sayfasına bakın) dayalı bir bakım betik yazma konusunda adım adım açıklamalı bir öğreticidir.

Örnek betik
"Merhaba, Dünya" yazdıran bir  bakım betiği üzerinden geçeceğiz. Bu program, çalışması için gereken minimum kod miktarını ve beklenen telif hakkı başlığını içerir (alternatif başlıklar için telif hakkı başlıkları sayfasına bakın):

Program sadece “Merhaba Dünya!” ancak zaten bir  (ve diğer komut satırı seçenekleri) vardır. Örnek çıkış:

 $ php helloWorld.php Hello, World! $ php helloWorld.php --help

Usage: php helloWorld.php [--conf|--dbgroupdefault|--dbpass|--dbuser|--globals|--help|--memory-limit|--mwdebug|--profiler|--quiet|--server|--wiki]

Generic maintenance parameters: --help (-h): Display this help message --quiet (-q): Whether to suppress non-error output --conf: Location of LocalSettings.php, if not default --wiki: For specifying the wiki ID   --globals: Output globals at the end of processing for debugging --memory-limit: Set a specific memory limit for the script, "max" for no limit or "default" to avoid changing it   --server: The protocol and server name to use in URLs, e.g.        https://en.wikipedia.org. This is sometimes necessary because server name detection may fail in command line scripts. --profiler: Profiler output format (usually "text") --mwdebug: Enable built-in MediaWiki development settings

Script dependant parameters: --dbuser: The DB user to use for this script --dbpass: The password to use for this script --dbgroupdefault: The default DB group to use.

$

Genel bakış:


 * öğesini ekliyoruz. Bu, bağımsız değişkenleri ayrıştırma, konsolu okuma, veritabanını alma vb. yöntemlere sahip  ile tanımlar.


 * Bakım sınıfını genişlettikten sonra,


 * Bakım sınıfına, betiğini yalnızca komut satırından yürütüldüğünde  sınıfımızı kullanarak çalıştırmasını söyleyin.

Dahili olarak,, MediaWiki sınıflarını ve yapılandırmasını otomatik olarak yükleyen başka bir dosya  yükler ve ardından


 * Tanımladığımız  işlevi yürütülür ve betiğimiz çalışmasını yapar.

Bir açıklama ekleme
"Peki bu bakım betiği ne için?" Sorduğunu duyabiliyorum.

Yapımcımızdaki  yöntemini kullanarak " " çıkışının üstüne bir açıklama koyabiliriz:

Çıkış şimdi bize açıklama veriyor:

$ php helloWorld.php --help

Say hello.

Usage: php helloWorld.php [--conf|--dbgroupdefault|--dbpass|--dbuser|--globals|--help|--memory-limit|--mwdebug|--profiler|--quiet|--server|--wiki] …

Seçenek ve bağımsız değişken ayrıştırma
Dünyayı selamlamak iyi ve güzeldir, ancak biz de bireyleri selamlamak istiyoruz.

Bir komut satırı seçeneği eklemek için  ile   komutun   ile çağıran bir yapıcı ekleyin ve   yöntemini kullanarak yeni seçeneği kullanın. ile parametreleri, yani:

This time, when executed, the output of the  script changes depending on the argument provided:

 $ php helloWorld.php Hello, World! $ php helloWorld.php --name=Mark Hello, Mark! $ php helloWorld.php --help

Say hello.

Usage: php helloWorld.php [--conf|--dbgroupdefault|--dbpass|--dbuser|--globals|--help|--memory-limit|--mwdebug|--name|--profiler|--quiet|--server|--wiki] … Script specific parameters: --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.

Writing tests
It's recommended to write tests for your maintenance scripts, like with any other class. See the Manual:PHP unit testing/Writing unit tests guide for help and examples.