Manual:ApiBase.php/zh

Category:Outdated pages/zh Category:MediaWiki code/zh#ApiBase.php
Category:Pages using deprecated NoteTA template#%20

ApiBase 類別實作了許多基本的API功能,是所有API類別的基礎。

類別的功能分為幾個功能區域:

  • 模組參數:衍生類別可以定義getAllowedParams()來指定期望哪些參數、如何解析及驗證它們。
  • 剖析: 是多種用來記錄各種任務及其時間成本的方法
  • 自我記錄:讓API記錄自身狀態的程式碼

函式

getAllowedParams()

指定允許哪些參數,以及對這些參數要有哪些要求。可參閱includes/api/ApiBase.php最上方的說明文件,有關於PARAM_DFLT, PARAM_ISMULTI, PARAM_TYPE, PARAM_MAX, PARAM_MAX2, PARAM_MIN, PARAM_ALLOW_DUPLICATES, PARAM_DEPRECATED, PARAM_REQUIRED, and PARAM_RANGE_ENFORCE這些常數。可能的參數類型有NULL、字串、整數、限制、布林值、時間戳記、使用者、或上傳。「user」參數是使用Title::makeTitleSafe()驗證的使用者名稱。對於布林參數,其預設值是除了「false」以外都不允許使用的。

示例:

// Title parameter.
public function getAllowedParams() {
        return array(
                'title' => array (
                        ParamValidator::PARAM_TYPE => 'string',
                        ParamValidator::PARAM_REQUIRED => true
                ),
        );
}

getResultProperties()与getFinalResultProperties()

TODO:描述一下这些是做什么的

getResult()

取得API結果(見手册:ApiResult.php)。

钩子

此檔案所呼叫的钩子,被列在Category:MediaWiki hooks included in ApiBase.php類別之中。

参见

Category:MediaWiki code/zh Category:Outdated pages/zh Category:Pages using deprecated NoteTA template