8

我想知道是否有人知道 Facebook 的 Hiphop 库不支持 PHP 5.4 中的哪些功能。Hiphop github wiki 上有一些问题,例如这个问题,状态非常模糊:

HipHop 当前不支持所有 PHP 5.4 功能。

目前我只需要假设,出于工作目的,所有新功能都不兼容,因为没有指定可以工作,如果有人对此有任何见解,那就太好了,在此先感谢。

4

2 回答 2

8

远离以下情况:

特质声明

trait vehicleInfo {
    function getSpeed() { /*1*/ }
    function getWheels() { /*2*/ }
}

class Car extends Vehicle {
    use vehicleInfo;
    /* ... */
}

class Motorcycle extends Vehicle {
    use vehicleInfo;
    /* ... */
}

PHP 5.4 数组实例化

$array = [
    "name" => "John Smith",
    "job" => "Basketweaver",
];

函数数组解引用

function small_numbers() {
    return array (0, 1, 2);
}

echo small_numbers()[0];

实例化的类成员访问

(new Foo)->bar();
于 2012-10-25T15:22:26.277 回答
1

HipHop 目前支持 Daniel Li 指出的所有功能,除了可能的二进制数。事实上,HipHop 多年来一直支持闭包。运行时在不断改进,因此请留意未来您正在等待出现的功能。

如果有疑问,并且您有时间,只需尝试使用某个功能并查看它是否有效。

akrieger@vb:~/www$ hhvm features.php
2
akrieger@vb:~/www$ cat features.php
<?php

trait vehicleInfo {
    function getSpeed() { /*1*/ }
    function getWheels() { return [1,2,3,4]; }
}

class Vehicle {}

class Car extends Vehicle {
    use vehicleInfo;
    /* ... */
}

class Motorcycle extends Vehicle {
    use vehicleInfo;
    /* ... */
}

$getMotorcycleWheels = function() {
  return (new Motorcycle())->getWheels();
};

echo $getMotorcycleWheels()[1];
echo "\n";
akrieger@vb:~/www$
于 2013-06-21T18:11:28.030 回答