PHP的下一个版本V包含了很的新特性和语法改进会使它在面向对象方面性更易用其他重要的特性还有在核心函数中对Unicode (统一编码)的支持这意味着 PHP 提供了更好的更可靠国际支持
PHP已经很流行被无数的站点使用被大部分因特网接入商所支持被Yahoo这样的大网络公司使用着在即将来临的PHP版本中准备增加一些成功的新特性使PHP在某些场合下更易用更安全你准备好接受 PHP 了吗?如果你明天就升级了你的程序会运行得很好吗?你该怎么办?这篇文章集合了PHP 的改变他们中的一些备份移植到版本的PHP vx您目前的脚本可能需要进行一些调整
如果你现在使用不是PHP但是一直在考虑它考虑一下它的新特性这些特点从Unicode的核心支持到XML支持使它更容易为你写的功能填补PHP的应用
PHP 新特性
PHP 当前已经作为开发者快照使用所以你可以下载和试用一下这篇文章列出很多特性这些特性已经在当前的快照中实现了
改进Unicode 支持
在PHP的核心函数中有很多对Unicode 字符串的支持的改进这些新特性将产生巨大的影响因为它允许PHP为国际字符提供更多的支持所以如果一个开发者或者架构师使用不同的语言例如Java程序语言是因为它具有超过PHP的国际化支持的话当支持改进时他会花一点时间来考虑一下PHP
因为今天你已经可以下载到开发者版本的 PHP V你将看到一些功能函数已经支持Unicode字符串有一个函数清单已经被测试和验证了完全可以处理Unicode参见资源
命名空间
命名空间是一种避免因函数或者类之间的命名沖突而使你的函数和类以及方法无法读取而不使用前缀命名惯例的一种方法因此通过使用命名空间你可以命名别人可能已经使用的类名而不用担心在运行时会出错下面提供了一个在PHP中使用命名空间的示例
您不用在源代码中做更新或更改因为你写的任何PHP代码可以不包含命名空间而运行得很好因为命名空间特性似乎会移植到PHP X中如果它可以使用您可以在自己的程序中引用命名空间
命名空间示例
﹤?php
// Im not sure why I would implement my own XMLWriter but at least
// the name of this one wont collide with the one built in to PHP
namespace NathanAGood;
class XMLWriter
{
// Implementation here
}
$writer = new NathanAGood::XMLWriter();
?﹥
Web 特性
依赖于你怎么使用PHP和你现在脚本的是什么样子的现在的语言和语法差异可能会或者不会最大程度的影响下面一些特性这是指那些直接让你引用的Web 功能到你的PHP应用程序
SOAP
SOAP是一种网络服务说话的协议并且支持不少其他语言例如Java和微软的NET虽然有其他的方法来驱动和使用网络服务比如 表象化状态转变(Representational State Transfer )RESTSOAP仍然在使不同平台具有可操作性中是最常用的此外SOAP在PHP扩展和PEAR库中使用SOAP在PHP中默认是不支持的因此你启用这个扩展或者叫你的ISP启用此外PEAR包允许你建立SOAP客户端和服务器如SOAP包
如果你改变了默认设置SOAP将会在PHP 中启用这个扩展将提供你很容易的的实现SOAP客户端和SOAP服务允许你编写的应用提供使用或者网络服务
如果SOAP扩展是默认设置那就意味着你不能在PHP中设置它们如果您开发的PHP应用程序并且它们发布到一个ISP服务器上您可能需要检查一下你的ISP以验证SOAP并启用为他们升级
XML
在PHP 中XMLReader 和XMLWriter已经变成PHP核心的一部分这使你工作起来更轻松如果在你的PHP程序中需要使用到XML的话和SOAP扩展一样如果你使用SOAP或者XML这是个好消息因为PHP 比已经出炉的PHP 更适合你
被删除的东西
除了具有的一些新功能PHP 引擎将删除一些在前面版本中已经有的功能大部分这些功能如register_globals 和safe_mode 在目前的PHP中被视为破的因为他们可能会暴露一些安全风险PHP在努力的清除中在下一个版本中这些将从PHP中删除或者废弃反对者认为大部分ISP或者企业会保留现在的脚本因为升级到PHP会破坏现在的的脚本但是支持者认为很高兴看到PHP团队修补了这些漏洞并且提供了一个干净安全的运行工具
将从PHP删除的功能有
magic_quotes register_globals register_long_arrays safe_mode