Manual:ApiBase.php

From Linux Web Expert

Revision as of 23:30, 23 September 2023 by imported>FuzzyBot (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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() 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.

같이 보기