在过去几周中,我们一直在讨论Joomla!未来版本的PHP、MySQL和遗留需求。我们已经决定将Joomla! 1.6升级到MySQL 4.1+。然而,关于何时停止支持PHP 4和1.0版本遗留支持的问题仍然存在。经过大量的讨论和研究,我们就这两个最后的议题做出了一些决定。

遗留模式

1.5版本的遗留层是为了弥合1.0版本和1.5版本之间的差距而引入的。它是网站所有者将他们的网站迁移到Joomla! 1.5的一种方式,同时也让扩展开发者有更多的时间迁移到我们现在所说的1.5原生。遗留模式实际上被设计为一个扩展本身 - 一个插件。这样做是为了可以轻松地启用和禁用。但更重要的是,它是一个容器,可以轻松地在未来版本中删除。

遗留模式是Joomla!的一个非常有用的功能,但我们决定它只适用于“回退一个版本”。这意味着Joomla! 1.6将有一个遗留模式来支持相对于1.5版本所做的更改,但将不再支持任何为Joomla! 1.0设计的扩展。我们认为这在对开发者和技术网站所有者鼓励前进与减少过多版本代码维护压力之间达到了最佳平衡。

PHP 4还是PHP 5?

全球部署在数千万台服务器上的PHP 4,是有史以来最成功的语言之一,但现在这即将结束。这种脚本语言版本4的积极开发已经停止,安全更新将在2008年8月结束。仍然有一些人反对完全过渡到PHP 5,目前尚不清楚PHP 4是否会真正消失。然而具有讽刺意味的是,PHP 5也不是新技术,但它自2004年首次发布以来一直是PHP 4的指定继承者。

许多开源项目已经决定迁移到PHP 5,Joomla! 社区和发展工作组内的讨论已经进行了一段时间。到目前为止,我们对PHP 4的支持是为了平滑从1.0到1.5的迁移,当时认为支持PHP 4的主机数量不足以进行迁移。

然而,现在我们的研究显示,在所有运行1.5版本的网站中,只有33%运行在PHP 4主机上。其余的网站运行在各种版本的PHP 5上。我们还考虑了我们所使用的第三方库(例如TCPDF、Simplepie和PHPXMLRPC),它们也正在逐步停止对PHP4的支持。

那么迁移到PHP 5我们能得到什么?让我尝试总结一下。

  • 官方对PHP 4的支持将在今年(2008年)8月结束。之后将不再提供安全更新或修复。
  • 第三方库如TCPDF、Simplepie和PHPXMLRPC只维护PHP 5版本。
  • 我们可以放弃一些现有的库,减少我们的代码大小(例如DOMIT)。
  • 我们只需要维护基于一个PHP 5版本的代码库,这将加快开发和测试速度,因为我们只需要支持一个PHP版本。
  • 我们不需要在两个相差很大的PHP版本上测试。
  • PHP 5添加了许多新特性和设计更改,使得开发健壮、安全、功能丰富的软件更快更简单。虽然可以在PHP 4中模拟一些特性,但需要自己的遗留层来实现。这些特性包括快速简单的XML支持以改进Web服务,更好的时区处理,大幅改进的数据库工具和输入工具使PHP应用程序更安全,等等。
  • 它将提高速度、性能和安全性。

这是一个相当令人印象深刻的特点列表!经过仔细考虑,并且收集了明确显示主机市场正在向PHP 5迁移的数据后,我们决定在Joomla! 1.6上迁移到PHP 5.2+。

这意味着我们不会完全重构1.6的所有代码以适应PHP 5原生。然而,这确实为我们选择最佳第三方库以完成相应任务提供了新的选择,并允许我们以原生PHP创建新的工作(例如ACL引擎)。