Manuel:$wgAPIModules

This page is a translated version of the page Manual:$wgAPIModules and the translation is 100% complete.
API: $wgAPIModules
Extensions de module API.
Introduit dans la version :1.11.0 (r25364)
Retiré dans la version :Encore utilisé
Valeurs autorisées :(tableau)
Valeur par défaut :[]

Détails

Nom du module de mappage de tableau associatif au nom de classe. Les modules d’extension peuvent surcharger les modules de base (qui sont initialisés en ApiMain.php ).

Exemple

Supposons que vous vouliez créer un module API pour calibrer le niveau de awesomeness du wiki. Vous écririez une nouvelle extension, CalibrateAwesomeness, mettant ce qui suit dans votre fichier extension.json :

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

Ensuite, vous créeriez un fichier extensions/CalibrateAwesomeness/src/ApiCalibrateAwesomeness.php contenant une classe ApiCalibrateAwesomeness qui s’étend, disons, ApiBase , par ex.

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,
			]
		];
	}
}

Après avoir installé votre nouvelle extension sur Wikipédia en anglais, vous pouvez accéder à ce module en utilisant, par exemple, https://example.org/w/api.php?action=calibrateawesomeness&level=1000.

Si vous voulez utiliser une usine pour créer le module API, vous pouvez le définir comme ceci :

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

class est la classe du module API et factory est une partie callable. Il y a plus d’options disponibles, voir ObjectFactory pour la syntaxe complète.


Voir aussi