Kézikönyv:$wgAPIModules
API: $wgAPIModules | |
---|---|
Az API-modul kiterjesztései. |
|
Bevezetve: | 1.11.0 (r25364) |
Eltávolítva: | használatban |
Megengedett értékek: | (tömb) |
Alapértelmezett érték: | [] |
Egyéb beállítások: Betűrendben | Funkció szerint |
Részletek
Az asszociatív tömb a modulnevet az osztálynévhez rendeli hozzá. A kiterjesztések moduljai felülírhatják a gyári modulokat (amelyek a $ApiMain-ben vannak inicializálva).
Példa
Tételezzük fel, hogy a wiki remekségi szintjét kalibráló API-modult szeretnél készítenél.
Ehhez el kell készítened a CalibrateAwesomeness
-t, majd a CalibrateAwesomeness.php
-ban el kell helyezned az alábbi kódot:
"AutoloadNamespaces": {
"MediaWiki\\Extension\\CalibrateAwesomeness\\": "src/"
},
"APIModules": {
"calibrateawesomeness": "MediaWiki\\Extension\\CalibrateAwesomeness\\ApiCalibrateAwesomeness"
},
Ezután el kell készítened az ApiCalibrateAwesomeness.php
-t, amelyben az ApiCalibrateAwesomeness
osztály kibontja mondjuk az $ApiBase-t; például:
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,
]
];
}
}
Az angol Wikipédiára való telepítés után a modult a https://example.org/w/api.php?action=calibrateawesomeness&level=1000 címen érheted el.
Ha az API-modul létrehozásához egy gyármodult használnál, azt az alábbi módon definiálhatod:
"APIModules": {
"calibrateawesomeness": {
"class": "MediaWiki\\Extension\\CalibrateAwesomeness\\ApiCalibrateAwesomeness",
"factory": "MediaWiki\\Extension\\CalibrateAwesomeness\\ApiCalibrateAwesomenessFactory::create"
},
ahol a $class az API-modul osztálya, a $factory pedig callable érték. There are more options available, see ObjectFactory for the full syntax.