Manual:ApiBase.php
Appearance
此頁面已过时。 |
| MediaWiki文件: ApiBase.php | |
|---|---|
| 位置: | includes/api/ (1.46及以后为includes/Api/) |
| 源代码: | master • 1.46.0 • 1.45.4 • 1.43.9 |
| 类: | MediaWiki\Api\ApiBase |
ApiBase 類別實作了許多基本的API功能,是所有API類別的基礎。
類別的功能分為幾個功能區域:
- 模組參數:衍生類別可以定義
getAllowedParams()來指定期望哪些參數、如何解析及驗證它們。 - 剖析: 是多種用來記錄各種任務及其時間成本的方法
- 自我記錄:讓API記錄自身狀態的程式碼
函式
getAllowedParams()
指定哪些參數是允許的、以及對這些參數要有哪些要求。
有關於PARAM_DFLT, PARAM_ISMULTI, PARAM_TYPE, PARAM_MAX, PARAM_MAX2, PARAM_MIN, PARAM_ALLOW_DUPLICATES, PARAM_DEPRECATED, PARAM_REQUIRED, PARAM_RANGE_ENFORCE這些常數,可參閱includes/api/ApiBase.php最上方的說明文件。
可能的參數類型有:NULL, string, integer, limit, boolean, timestamp, user, upload。
'user'參數是使用Title::makeTitleSafe()驗證的使用者名稱。
對於布林參數,其預設值是除了false以外都不允許使用的。
示例:
// Title參數。
public function getAllowedParams() {
return array(
'title' => array (
ParamValidator::PARAM_TYPE => 'string',
ParamValidator::PARAM_REQUIRED => true
),
);
}
getResult()
取得API結果(參見手册:ApiResult.php)。
钩子
此檔案所呼叫的钩子,被列在Category:MediaWiki hooks included in ApiBase.php類別之中。
顯著的變更
- 該類別在 MW 1.43 版本中變成了命名空間 (MediaWiki\Api\ApiBase)。 各個擴充功能必須相應地更新此類別的使用處。