手册:代码结构

From mediawiki.org
This page is a translated version of the page Manual:Code and the translation is 97% complete.

本页将介绍 MediaWiki 核心代码的顶层目录。

See also the following pages in the versioned MediaWiki documentation site (auto-generated using Doxygen ):

代码入口

入口文件包含有:index.php,api.php,load.php,详情请看Entry points

cache/

缓存目录,在安装的时候会建议设置$wgCacheDirectory 以启用缓存。当启用缓存后,这个目录就充当缓存的目录了。

默认情况下,这个目录是空的。

docs/

包含了MediaWiki的文档,这个目录会自动将每个版本的MediaWiki发布到doc.wikimedia.org

您可以通过https://doc.wikimedia.org/mediawiki-core/查看这些文档。

extensions/

扩展的安装目录。 安装扩展的时候,一个扩展就是一个子目录(您可以通过mediawiki.org扩展中心安装或者从Gerrit直接克隆扩展的代码)。 然后,在LocalSettings.php 中启用这个扩展,通常是使用wfLoadExtension()这个函数启用。

MediaWiki的官方分发包中会绑定一些扩展和皮肤。 参考捆绑的扩展和皮肤

includes/

MediaWiki核心代码目录。

想要了解MediaWiki中的不同的类和组件,可以参考https://doc.wikimedia.org/mediawiki-core/master/php/modules.html。

images/

用户上传的多媒体文件会保存在这个目录下。 另外,生成的缩略图也是保存在这里。

参考:手册:配置文件上传 Manual:图片管理

languages/

这个目录是保存纯数据和多语言的文件。

比如:

maintenance/

保存命令行、脚本的目录。 这些命令可以用来迁移数据库、批量操作等等。 参考:手册:维护脚本

mw-config/

这个目录是安装器的目录,安装器是给管理员用来安装wiki的工具。 安装器主要是帮助配置wiki和创建数据库。

resources/

资源目录,包含前端的一些资源(js和css),这些资源由资源加载器 管理

skins/

皮肤是安装在这个目录的。 一套皮肤就是一个子目录(可以从tar包中解压,或者是从git中克隆出来)。 之后需要在LocalSettings.php 中使用wfLoadSkin()进行加载。

参考:捆绑的扩展和皮肤

tests/

测试目录,包含了单元测试,继承测试和end-to-end tests。