php 5.4的beta版本即将发布,网上已经出现了很多对于php 5.4新特性介绍的reference,这里有一份官方的详细列表可以供参考http://svn.php.net/viewvc/php/php-src...。对于我来说,除了一些bug的修复,最值得期待的是两方面
性能上的巨大提高
根据一些已知的性能测试来看,对于执行速度基本可以提高一倍左右,而内存的使用则降低到上一版本的1/3到1/2。如果最终的发行版能保证这个成绩,那么不得不说这是一个巨大的提高。
新特性的引入
非常有意思的是php 5.4居然引入了scalar中Traits(特质)的概念,熟悉scalar的朋友都知道Traits
是一个介于Class
和Interface
之间的东西,它是抽象的定义,但是跟接口不同的是可以包括实际的方法和成员变量,而跟abstract class
不同的是,它可以是多重的!这将让php的oop特性更加丰富,不过我也悲观地认为这会让众多php的草根们对oop的概念更加混乱:(
trait A
{
public function foo();
}
trait B
{
public function bar()
{
return;
}
}
class C
{
use A, B;
public function execute()
{
echo $this->bar();
}
}
另一个我比较关心的特性是php 5.4中终于支持全类型的函数类型检测了,在php 5.3以前我们只能在类型检测中使用array
和Class
的检测,比如
function foo(array input, MyClass key) {
return;
}
但是php 5.4会支持现在php的所有内置类型了(String
,Int
,Float
,Resource
,Bool
等等),这样我们就不用在函数内部写类似is_string
之类的函数了。
还有一个让无数php开发者曾经无比纠结的问题,终于在这个php 5.4中修复了(至少我认为是修复)。那就是在函数的返回值中直接使用数组键值了
function func () {
return array(1, 2, 3);
}
echo func()[1]; // 输出2
这个看似理所当然的东西居然要等到php 5.4中才修复,要是早点修复可以节省多少变量,少排放多少二氧化碳啊。
还有一个对php初学者来说的好消息,那就是php 5.4会包含一个简单的server,大家不用再去烦恼如何配置apache之类的了。
我所期待的特性
php在我眼里离一个完美的语言还相差甚远,但幸好他是一个相当趁手的语言。所以我对它也有我的期待,那就是
增加对服务端持久化的支持,虽然有apc cache之类的东西,但是没有语言级的解决,还是感觉到不方便。
这里有一些老外 对php的期许http://www.reddit.com/r/PHP/comments/...,你们自己希望有那些新特性呢?