Manual:$wgAPIModules

From mediawiki.org
This page is a translated version of the page Manual:$wgAPIModules and the translation is 100% complete.
API: $wgAPIModules
API modülü uzantıları.
Sürümde tanıtıldı:1.11.0 (r25364)
Sürümde kaldırıldı:hala kullanımda
İzin verilen değerler:(dizi)
Varsayılan değer:[]

Ayrıntılar

İlişkisel dizi eşleme modülü adı, sınıf adı. Uzantı modülleri, (ApiMain.php içinde başlatılan) temel modülleri geçersiz kılabilir.

Örnek

Vikinin mükemmellik seviyesini kalibre etmek için bir API modülü oluşturmak istediğinizi varsayalım. CalibrateAwesomeness adlı yeni bir uzantı yazarsınız ve aşağıdakileri extension.json dosyanıza koyarsınız:

	"AutoloadNamespaces": {
		"MediaWiki\\Extension\\CalibrateAwesomeness\\": "src/"
	},
	"APIModules": {
		"calibrateawesomeness": "MediaWiki\\Extension\\CalibrateAwesomeness\\ApiCalibrateAwesomeness"
	},

Ardından, örneğin ApiBase ile genişleten bir ApiCalibrateAwesomeness sınıfını içeren bir extensions/CalibrateAwesomeness/src/ApiCalibrateAwesomeness.php dosyası oluşturursunuz, ör.

namespace MediaWiki\Extension\CalibrateAwesomeness;

use ApiBase;
use Wikimedia\ParamValidator\ParamValidator;

class ApiCalibrateAwesomeness extends ApiBase {

	public function execute() {
		/* … */
	}

	public function getAllowedParams() {
		return [
			'level' => [
				ParamValidator::PARAM_TYPE => 'integer',
				ParamValidator::PARAM_REQUIRED => true,
			]
		];
	}
}

Yeni uzantınızı İngilizce Vikipedi'ye yükledikten sonra, bu modüle örneğin https://example.org/w/api.php?action=calibrateawesomeness&level=1000 kullanarak erişebilirsiniz.

API modülünü oluşturmak için bir fabrika kullanmak istiyorsanız, bunu şu şekilde tanımlayabilirsiniz:

	"APIModules": {
		"calibrateawesomeness": {
			"class": "MediaWiki\\Extension\\CalibrateAwesomeness\\ApiCalibrateAwesomeness",
			"factory": "MediaWiki\\Extension\\CalibrateAwesomeness\\ApiCalibrateAwesomenessFactory::create"
	},

class, API modülünün sınıfıdır ve factory bazı çağrılabilir. Kullanılabilir daha fazla seçenek var, söz diziminin tamamı için ObjectFactory sayfasına bakın.


Ayrıca bakınız