IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    PHP 7新特性介绍

    mckee发表于 2015-08-02 13:16:53
    love 0

    PHP 7在性能方面的突破成为近来最热门的话题之一,目前官方PHP 7.0.0 Beta 2已经发布
    新特性

    • 性能提升:PHP 7要比PHP 5.6快两倍
    • 全面一致的64位支持
    • 移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展
    • 新增了空接合操作符(??)【wiki】

    $username = $_GET['user'] ?? 'nobody';
    // equivalent to: $username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

    • 新增加了结合比较运算符(<=>)【wiki】

    $a = 1;
    $b = 2;
    
    switch ($a  <=> $b)
    {
        case 1:
            echo "a > b";
            break;
        case 0:
            echo "a == b";
            break;
        case -1:
            echo "a < b";
            break;
    }

    • 新增加了函数的返回类型声明【wiki】

    function foo(): array {
        return [];
    }

    • 新增加了标量类型声明【wiki】

    //标量声明的主要作用是自动实现参数的强制类型转换
    //变量类型声明(int, float, string , bool) function add(int $a, int $b): int { return $a + $b; }

    • 新增加匿名类【wiki】

    class Foo {}
    $child = new class extends Foo {};
    var_dump($child instanceof Foo); // true

    • 可捕获致命错误,较早版本只能通过register_shutdown_function()事后处理。(wiki)

    Benchmark
    测试代码:
    $count = $argv[1];
    
    $a = array();
    for ($i = 0; $i < $count; $i++) {
        $a[$i] = $i;
    }
    
    foreach ($a as $i) {
        array_key_exists($i, $a);
    }

    测试结果:
    time-php-version.png
    可见PHP 7相对于PHP 5.4有数倍以上的速度提升。
    社区中的Benchmark结果:
    php7-benchmark1.jpg
    以WordPress开源博客首页为测试场景的测试结果:
    php7-benchmark2.jpg
    参考资料:
    • PHP 7 RFC文档
    • How to Download, Build, Install and Test
    • PHP 7 ChangeLog
    • PHP 7 Download
    • PHP 7升级备注
    • PHP 7.0 benchmarks
    • PHP7和HHVM的性能之争



沪ICP备19023445号-2号
友情链接