我想知道是否有人知道 Facebook 的 Hiphop 库不支持 PHP 5.4 中的哪些功能。Hiphop github wiki 上有一些问题,例如这个问题,状态非常模糊:
HipHop 当前不支持所有 PHP 5.4 功能。
目前我只需要假设,出于工作目的,所有新功能都不兼容,因为没有指定可以工作,如果有人对此有任何见解,那就太好了,在此先感谢。
远离以下情况:
特质声明:
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();
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$