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.
Ö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.