Manual:$wgAPIModules
拡張機能: $wgAPIModules | |
---|---|
API モジュール拡張機能。 |
|
導入されたバージョン: | 1.11.0 (r25364) |
除去されたバージョン: | 使用中 |
許容される値: | (配列) |
既定値: | [] |
その他の設定: アルファベット順 | 機能順 |
詳細
モジュール名をクラス名にマッピングする連想配列です。 拡張機能のモジュールは、コアのモジュール (ApiMain.php で初期化されます) をオーバーライドできます。
例
Suppose you wanted to create an API module to calibrate the wiki's awesomeness level.
You would write a new extension, CalibrateAwesomeness
, putting the following in your CalibrateAwesomeness.php
file:
$wgAutoloadClasses['ApiCalibrateAwesomeness'] = __DIR__ . 'ApiCalibrateAwesomeness.php';
$wgAPIModules['calibrateawesomeness'] = 'ApiCalibrateAwesomeness';
Then you would create an ApiCalibrateAwesomeness.php
file containing an ApiCalibrateAwesomeness
class that extends, say, ApiBase
, e.g.
class ApiCalibrateAwesomeness extends ApiBase {
public function execute() {
...
}
public function getAllowedParams() {
return array(
'level' => array (
ApiBase::PARAM_TYPE => 'integer',
ApiBase::PARAM_REQUIRED => true
)
);
}
}
新しい拡張機能を英語版ウィキペディアにインストールした場合は、以下のような URL でモジュールでアクセスできるようになります。例: https://en.wikipedia.org/w/api.php?action=calibrateawesomeness&level=1000
API モジュールの作成にファクトリを使用する場合は、以下のように定義できます:
$wgAPIModules['calibrateawesomeness'] = [
'class' => 'ApiCalibrateAwesomeness',
'factory' => 'ApiCalibrateAwesomenessFactory::create',
];
where class
is the class of the API module and factory
is some callable.
There are more options available, see ObjectFactory for the full syntax.