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.
Access points Edit
- See also: Special:Version#Entry point URLs
These are the files that a browser may reach when using the wiki. All of them are located in the root directory of the wiki, and each of them is paired with a .php5 wrapper, for web servers that require the .php5 extension to execute scripts with the PHP5 engine.
- ↑ Except
thumb_handler.php, which is a simple wrapper around
thumb.phpand thus does not have to re-include
- ↑ That command also returns
mw-config/index.php, but unlike the other files, it is not intended for repeated use during normal wiki operation; in other words, it is not an access point to reach wiki resources, but a one-off script to launch the configuration process of a newly installed wiki.
Contains various text files that should help you understand the most important parts of the code of MediaWiki.
Mediawiki extensions are distributed separately from the core code.
Installing an extension entails copying its files into this directory, and enabling it by following the extension's own installation instructions (usually editing the LocalSettings.php file).
In current versions a set of several extensions is distributed with a fresh MediaWiki install.
This directory stores common include files needed by MediaWiki.
This directory contains the Action classes, which handle the different actions which can be performed on pages (e.g. view, delete, edit, etc.). All these classes extend the
FormAction classes. Some of them are just stubs which call methods in the
EditPage classes to do the actual work.
This directory contains the code for the MediaWiki API. See API:Main page. The most important files are:
This directory contains files with code relating to MediaWiki's caching mechanisms.
This directory contains a few classes related to (request) contexts. As of MediaWiki 1.18 the context of a request is encapsulated inside a
RequestContext instance which implements
IContextSource. 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.
This directory contains the code for database support. Database.php provides MediaWiki's database abstraction layer.
This directory contains the standard MediaWiki difference engine. A difference engine computes the difference between two texts. Whether this difference engine is used or some external diff tool, depends on the $wgExternalDiffEngine setting.
Files related to the job queue. Each job class for a specific type of job derives from the
Job class and has to implement a
run() method which does the actual job.
Some files related to logging the events which happen on a Wiki. This directory was introduced in MW 1.19. Some of the files were already present in olders versions, in the includes/ directory.
This directory contains files for handling several media formats, mostly images.
This directory contains some Unicode normalization routines. See includes/normal/README for more information.
Files related to MediaWiki's caching mechanisms. The files in this directory provide the possibility to store objects in PHP accelerators, in memcached, in a database or in DBA files.
The MediaWiki parser, which transforms wikitext to HTML, can be found here together with related files. The most interesting files in this directory:
This directory contains the code to implement the possibility of searching a wiki using one the possible backends.
This directory contains the code and classes for the standard special pages. All special page classes derive from class
SpecialPage (defined in includes/SpecialPage.php). Special pages which come with extension are located in their respective extensions directories. See also Manual:Special pages.
Files providing the backend of MediaWiki's file upload feature.
If uploads are enabled in the wiki, files will be put in subdirectories under this directory. See Manual:Image administration#Folders for more details.
This directory contains maintenance scripts that must be run from a command line interface.
See Manual:Maintenance scripts for an overview of those scripts.
Entry point for the Config script (the helper script that helps setting up a newly installed wiki). The actual code of the installer is located at
Contains various (unit)test related files, including: