您好,匿名用户
随意问技术百科期待您的加入

php 5.4即将到来,看看有那些特性是你所需要的,你最期待的特性是哪些呢

0 投票

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是一个介于ClassInterface之间的东西,它是抽象的定义,但是跟接口不同的是可以包括实际的方法和成员变量,而跟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以前我们只能在类型检测中使用arrayClass的检测,比如

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/...,你们自己希望有那些新特性呢?

用户头像 提问 2012年 12月1日 @ Amumu 上等兵 (340 威望)
分享到:

1个回答

0 投票

所有的特性我都很期待!不过同时也看出来php知道来自ruby等后起之秀的压力了,其实这里面的新特性对于相对较新的脚本语言来说都不是什么新东西了。

另外自带的server我觉得也是再向ruby看齐吧(ruby gem里面有一个用ruby写的server,rails里面就在用这个)在开发环境中用还是能获取一定方便的。

另外 @joyqi 说的持久化也是我期待的东西,php目前的特性导致在跑一些经常运行的重复工作,比如大部分框架的初始化工作的时候都会占用过多计算资源。

下面是我对各个新特性的感受:

  1. trait: php终于可以完美实现aop了
  2. 全类型函数检测: api设计者泪流满面
  3. 函数返回值直接使用数组键值: phper不再羡慕javascript等程序员了
用户头像 回复 2012年 12月1日 @ 阿尔托莉雅 下士 (587 威望)
提一个问题:

相关问题

0 投票
1 回复 41 阅读
0 投票
1 回复 35 阅读
0 投票
1 回复 26 阅读
用户头像 提问 2013年 12月19日 @ Zeus 上等兵 (193 威望)
0 投票
1 回复 1,858 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...