Do not hack MediaWiki core/zh

虽然“骇入MediaWiki核心”通常是一个在其他MediaWiki支持论坛上提出的解决方案，但它并不是一个理想的解决方案. 通常，它会给您带来跟多的问题而不是解决问题，并且只会使将来的升级更加难以安装.

在本文中的“核心”指包含属于原始MediaWiki安装的所有文件，也就是说除了LocalSettings.php之外的所有文件、“extensions”文件夹中的文件以及其他您在安装过程中添加的其他文件夹.

为什么您不应该修改核心文件
无论修改核心文件是多么容易，能让MediaWiki做你想做的事，请抵制诱惑.


 * 这样做会使网站更新（如安全性和错误修复）变得复杂，困难或几乎不可能.
 * 您将会给那些其他网站维护人员带来困难.
 * 您可能会使您的网站容易受到攻击.
 * 一旦您修改了您的核心文件，其他开发人员不太倾向于帮助您 - 如果没有其他解释，他们将很难了解您已经做了什么改动.

MediaWiki核心设计为模块化，因此没有理由去更改它. 如果存在您想要的功能，并且无法在修改核心之外完成，请考虑开发扩展或将您的修改内容作为补丁提交. 提交错误报告并告知社区您要达到的特性. 该特性将会被进行测试，您提交的特性可能会成为MediaWiki核心的一部分.

修改核心文件的维基所面临的问题

 * MediaWiki升级将持续从半小时到六小时或甚至六周，若您的 （差异）存在13650行被更改.
 * 由于安全漏洞，垃圾邮件和其他有害攻击的增加.
 * 由于核心文件存在冲突而失去新特性.
 * 无法使用MediaWiki.org文档 - 所有这些都是在假设您没有“修改”您的核心文件的情况下编写的（除了您在进行特定的修改时特地写了有关如何操作MediaWiki的文档）.
 * 重复原有的问题 - 因为错误报告是解决问题的一种比修改核心更可靠的方法 - 如果不是出于其他原因，一组开发人员将分析问题并可能发现代码需要更改而您将错过.
 * 向开发人员抱怨你的核心文件不能工作 - 并且没有找到太多同情 - 如果你修改了核心文件 - 有效的技术支持几乎是不可能的.

例外
这个规则有例外吗？

没有.

好吧，很少很少. 但这通常适用于特定的Wiki或由熟悉MediaWiki代码库，开发实践和安全模型的人员实现. 那些人能正确记录其变更并使用其代码实施适当的版本控制. 如果你一定要问，那么你很有可能不应该这样做.

扩展
Note that most of this page also applies to important extensions. It's a bad idea to directly start hacking the Semantic MediaWiki extensions, or any of the extensions used on Wikipedia and other Wikimedia sites.

An exception could be if an extension is mainly installed by copying its code from this wiki (instead of getting it from a software repository). It means it's not very seriously maintained.

What to do instead
Rather than hacking MediaWiki core, there are several alternative solutions to consider, more or less in this order:


 * 1) MediaWiki is a powerful beast out of the box, you can do a lot with MediaWiki's interface messages such as   and many many others, see also other pages on this wiki for e.g. JavaScript and CSS additions and changes.
 * 2) 开发扩展以实现您打算做到的事情，或者完全可以使用现有钩之一
 * 3) Submit a bug report
 * 4) Contribute your improvement to core to the code repository so others can benefit from your fix