Open main menu

Manual:$wgAPIModules

This page is a translated version of the page Manual:$wgAPIModules and the translation is 64% complete.

Other languages:
English • ‎español • ‎magyar • ‎polski • ‎中文 • ‎日本語
拡張機能: $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

If you want to use a factory for creating the API module, you can define it like this:

$wgAPIModules['calibrateawesomeness'] = [
    'class' => 'ApiCalibrateAwesomeness',
    'factory' => 'ApiCalibrateAwesomenessFactory::create',
];

where class is the class of the API module and factory is some callable.

関連項目