Manual:$wgAPIModules
| 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: | [] |
| Diğer ayarlar: Alfabetik | İşlevsel olarak | |
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.
Restricting access
You can use this setting with the 'ApiDisabled' value to deny access to a given API module.
$wgAPIModules['my-api-module-here'] = 'ApiDisabled';
Ö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.