Manual:ApiBase.php

From MediaWiki.org
Jump to: navigation, search

Other languages:
català • ‎Deutsch • ‎English • ‎español • ‎فارسی • ‎suomi • ‎français • ‎italiano • ‎日本語 • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎sicilianu • ‎Türkçe

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

Functions[edit]

getAllowedParams()[edit]

Specify which parameters are allowed and what requirements are to be imposed on them. See the documentation beginning at line 46 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.

Example:

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

getResultProperties() and getFinalResultProperties()[edit]

TODO: Describe what these do

getResult()[edit]

Gets the API result (see Manual:ApiResult.php).

Hooks[edit]

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

See also[edit]