Manual:ApiBase.php

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

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.

Example:

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

getResultProperties() and getFinalResultProperties()

TODO: Describe what these do

getResult()

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

Hooks

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

See also