Developer hub/zh



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


 * If you want to use Wikimedia web APIs, visit API:Web APIs hub (work in progress).
 * 作为一个MediaWiki的入门开发指引，请阅读如何成为一个 MediaWiki hacker.
 * MediaWiki安装和自定义帮助文档，请参考. MediaWiki使用帮助，参考$User.
 * For help using MediaWiki, visit the.

概要
MediaWiki is developed in an open source style using the PHP programming language primarily for the LAMP platform. Core development is largely coordinated online.


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


 * 源代码 使用 Git 版本管理系统管理. 参考Git入门了解MediaWiki程序员Git使用说明.  Read the wikitech:Help:Access article if you'd like access.


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


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

主要文档


编码、开发和规范

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


 * 代码规范 – 学习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 手册集 – 开发者文档.


 * [//doc.wikimedia.org/mediawiki-core/master/php/html/ MediaWiki类参考手册] –从MediaWiki源码生成的技术文档. （注意： 手册很大，加载会比较慢. ）


 * MediaWiki 虚拟库——手册、教程及所选文章的集合.

子系统

 * 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 中有六个地方可以让开发人员添加新功能或者修改现有的功能. 可以扩展现有的功能而无须改动核心代码，是 MediaWiki 的设计原则之一. 这也使得用户可以很方便地升级 MediaWiki 也无须每次都手动把自己的修改重新加入到新版本的代码中. 而这些扩展点分别是：


 * API – access the data and metadata of MediaWiki instances through its powerful "Action" 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 Part 1 – instructions on how to create a skin for MediaWiki.
 * Manual:Skin configuration – a guide to configuring skins for a wiki.

Help for library code reuse

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

使用第三方维基站点

 * - For Enterprise wikis
 * —— 大学式维基