Manual:Code

This page describes key files and directories in the MediaWiki source code. For more detailed information, see the class, file and comprehensive references auto-generated from the MediaWiki source code using doxygen.

Directory /includes/
This directory stores common include files needed by MediaWiki.

Directory /includes/actions/
This directory contains the definitions of Action classes to handle different actions. All these classes extend the,   or   classes.

Directory /includes/api/
This directory contains the code for the MediaWiki API. See API:Main page. The most important files are:

Directory /includes/cache/
This directory contains files with code relating to MediaWiki's caching mechanisms.

Directory /includes/context/
This directory contains a few classes related to (request)contexts. As of MediaWiki 1.18 the context of a request is encapsulated inside a  instance which implements. A context is a way of grouping the parts of a request together. This reduces the need for globals. See Manual:RequestContext for more information.

Directory /includes/db/
This directory contains the code for database support. Database.php provides MediaWiki's database abstraction layer.

Directory /includes/parser/
The MediaWiki parser, which transforms wikitext to HTML, can be found here together with related files. The most interesting files in this directory:

Directory /includes/specials/
This directory contains the code and classes for the standard special pages. All special page classes derive from class  (defined in includes/SpecialPage.php). Special pages which come with extension are located in their respective extensions directories. See also Manual:Special pages.

Directory /languages/</tt>
This directory contains files used for localization and internationalization. For a quick overview see Language in MediaWiki.

Directory /maintenance/</tt>
This directory contains maintenance scripts that must be run from a command line interface.

See Manual:Maintenance scripts for an overview of those scripts.

Directory /skins/</tt>
This directory contain all skins classes, JavaScripts, CSS and some images used by that skins.