手册:ApiBase.php

From mediawiki.org
This page is a translated version of the page Manual:ApiBase.php and the translation is 50% complete.

The ApiBase class implements many basic API functions, and is the base of all API classes. The class functions are divided into several areas of functionality:

  • Module parameters: Derived classes can define getAllowedParams() to specify which parameters to expect, how to parse and validate them.
  • Profiling: various methods to allow keeping tabs on various tasks and their time costs
  • Self-documentation: code to allow the API to document its own state

函数

getAllowedParams()

Specify which parameters are allowed and what requirements are to be imposed on them. See the documentation at the top of includes/api/ApiBase.php for the constants PARAM_DFLT, PARAM_ISMULTI, PARAM_TYPE, PARAM_MAX, PARAM_MAX2, PARAM_MIN, PARAM_ALLOW_DUPLICATES, PARAM_DEPRECATED, PARAM_REQUIRED, and PARAM_RANGE_ENFORCE. The possible types of parameters are NULL, string, integer, limit, boolean, timestamp, user, or upload. A "user" parameter is a username that is validated using Title::makeTitleSafe(). For boolean parameters, a default value of anything other than 'false' is not allowed.

示例:

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

getResultProperties()与getFinalResultProperties()

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

getResult()

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

钩子

Hooks called from this file are listed in the Category:MediaWiki hooks included in ApiBase.php category.

参见