Jump to content

Manual:ApiBase.php

本頁使用了標題或全文手工轉換
From mediawiki.org
This page is a translated version of the page Manual:ApiBase.php and the translation is 100% complete.

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)。 各個擴充功能必須相應地更新此類別的使用處。

参阅