今天我遇到了另一个 Joomla! 1.0 网站,其核心数据表被其他扩展修改了。谢天谢地 Joomla! 1.0 马上就要淘汰了,1.6 版本即将到来,所以我希望每个人都能为我定一个 2009 年的新年决心:我不会篡改 Joomla! 核心代码(无论是文件还是数据库)。我知道在数据表中直接添加额外字段很有诱惑,但请尽量克制,创建一个新表并不困难,如果你想在一次请求中完成,你可以使用连接(join)。我知道修改文件以实现更改很有诱惑,但我们正在尝试提供选项,让你避免这样做。
如果你认为你想尝试实现的功能不通过核心代码修改就无法实现,那么在用户安装你的扩展之前,请确保你教育用户,让他们了解你的操作。值得赞扬的是,有些人做得很好,但也有案例表明可以做得更好!确保在用户不知情的情况下,核心代码的更改不会给他们带来任何惊喜。然后,一旦你的扩展开始工作,弄清楚你需要在 Joomla! 中添加什么功能才能在不修改核心代码的情况下实现你的目标。或许你只需要在正确的位置添加一个插件触发器,或者在某些表中添加一个额外的字段,这会让你和其他人的生活变得更轻松。一旦你弄清楚了你的需求,将它们整理成白皮书,并提交到白皮书论坛,以便在下一个 Joomla! 版本中考虑。有了 1.6 版本,集成的核心访问控制列表(ACL)将有望消除一个较大的核心代码修改领域,同时还有新的插件触发器来帮助缓解其他问题。
因此,开发者们,让我们在新的一年里有一个美好的决心:尽我们最大的努力不去篡改核心代码,或者使我们不再需要这样做。