我想知道是否有人知道Facebook的Hiphop库中不支持PHP 5.4中的哪些功能。关于Hiphop github wiki有一些问题,例如this一个,非常模糊地陈述:
HipHop目前不支持所有PHP 5.4功能。
目前我只是假设,出于工作目的,所有新功能都不兼容,因为没有指定可用,如果有人对此有任何见解,那将是很好的,提前感谢。
答案 0 :(得分: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();
答案 1 :(得分: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$