Developer hub/zh



MediaWiki开发说明，包括关键文件，资源和开发工具. 它是为 使用过MediaWiki的熟练LAMP（软件包） 程序员写的.

作为一个MediaWiki的入门开发指引，请阅读如何成为一个 MediaWiki hacker.

MediaWiki安装和自定义帮助文档，请参考. MediaWiki使用帮助，参考.

概要
MediaWiki是以开源形式开发的. 使用 PHP 编程语言 MediaWiki主要在LAMP平台运行. 核心开发是通过大规模在线协作完成的.


 * 开发讨论可以在各种邮件列表和IRC 频道中. 主要开发者列表为wikitech-l，主要的开发者 IRC 频道为#mediawiki和#wikimedia-dev.  请阅读Developers中的内容以对邮件列表和 IRC 频道中的人有个印象.


 * 源代码 使用 Git 版本管理系统管理. 参考Git入门了解MediaWiki程序员Git使用说明.  如果您想要访问源码，参考 wikitech:Help:Access.


 * 代码审查 使用系统, 您也可以贡献补丁修复问题，参考 Gerrit入门 了解 git 和 gerrit 如何具体操作.


 * MediaWiki 中的开发者扩展或接口（而不修改核心代码）有几种便捷的扩展方式，包括 API、钩子系统和皮肤——请参阅本页的Extending MediaWiki 段落了解概要.

主要文档


编码、开发和规范

 * Development policy – 主要开发策略简介.


 * Coding conventions – 学习MediaWiki中PHP代码规范.


 * Security for developers – 了解如何保持MediaWiki系统安全.


 * 代码提交核查表 – 在提交代码前，请仔细根据核查表检查相关事项.


 * 代码审查手册 – MediaWiki代码审查手册，供审查人员使用.


 * 需求中心(RfC) – 了解MediaWiki需求表，也可以提出自己对MediaWiki的需求建议.

调试和测试

 * Bug列表 – MediaWiki bug管理系统简介.


 * 怎样调试 – MediaWiki调试入门.


 * 常见错误 – MediaWiki常见错误及解决办法参考.


 * Selenium Framework – 学习如何使用Selenium为MediaWiki写UI测试用例.


 * 单元测试 – 学习用PHPUnit为MediaWiki开发单元测试用例.


 *  — 请将安全问题报告至 [mailto:security@wikimedia.org security@wikimedia.org].



系统架构

 * Manual:Code – MediaWiki关键源码介绍.


 * 数据库设计 – MediaWiki数据库设计.


 * 全局变量 – 部分全局变量说明.


 * 本地化 – MediaWiki本地化系统设计说明.


 * Manual 手册集 – 开发者文档.


 * MediaWiki类参考手册 –从MediaWiki源码生成的技术文档. （注意： 手册很大，加载会比较慢. ）


 * MediaWiki Virtual Library – manuals, guides, collections of selected articles.

子系统

 * API – MediaWiki's API provides direct, high-level access to the data contained in the MediaWiki databases


 * ContentHandler——MediaWiki 的自定义页面类型支持框架.


 * 数据库访问——MediaWiki 中数据库使用综述，包括数据库抽象层简明指南.


 * Job queue——MediaWiki 中让长时间任务异步运行的框架.


 * 消息 API——MediaWiki 中通过 PHP 或 JavaScript 提供本地化程序消息的框架.

扩展 MediaWiki
MediaWiki has been designed to allow for modification without changing the "core code". This makes it easy to update to a new version of MediaWiki without having to manually merge in old extension code changes. There are six main extension points that allow developers to change or extend what MediaWiki can do. The extension points are:


 * API – access the data and metadata of MediaWiki instances through a powerful web API


 * Hooks – 系统的执行挂钩


 * Parser Functions – 添加自定义的指令，例如


 * Skins – 自定义 MediaWiki 的外观


 * Special Pages – 添加自定义的特殊页面


 * Tag Extensions – 添加自定义的标签，例如

插件开发人员的帮助文档

 * Manual:Developing extensions——扩展开发指南.
 * Project:WikiProject Extensions
 * Extensions FAQ
 * See Category:Extensions——扩展列表
 * Manual:$wgExtensionFunctions——用于在安装好 MediaWiki 核心之前延迟扩展安装（或执行其他回滚）.
 * Extension:BoilerPlate——空的扩展模板

皮肤开发人员的帮助文档

 * Manual:Skinning——MediaWiki 皮肤创建教程.
 * Manual:Skin configuration——在维基中皮肤配置指南.

Help for library code reuse

 * Manual:Developing libraries – a guide to packaging third-party libraries for use with MediaWiki

使用第三方维基站点

 * Enterprise hub —— 企业式维基
 * —— 大学式维基