HHVM 4.11.0 已发布,此次更新标志着对 4.5.x 系列的支持已结束。
值得关注的更新
- 改进使用私有或保护方法的
inst_meth()
/class_meth()
的错误位置 - 添加管理员服务器端点以从单元缓存中删除单元;例如:
curl 'http://localhost:8003/invalidate-units?path=/my/file.php&path=/my/other/file.php'
- 类型不匹配错误 (4110) 现在会报告完整类型
- PHP 排序函数在 HHIs 中现在使用
inout
注释而非 by-reference。inout
和引用都继续在 runtime 运行 - 新增
hh_client --extract-standalone
,以创建包含函数和所有递归依赖项的自包含文件 - 对于被访问但未被更改的 SHA 源文件,不再重新生成字节码
- 如果处于 runtime 阶段,一个类使用多个声明相同方法的 trait,则错误消息现在包含 trait 的名称
破坏性变化
darray
类型和HH\darray()
函数(自动导入)的 key generic 现在需要一个arraykey
- PHP7 风格的匿名函数
use()
子句定位现在会出现解析器错误;Hack 需要在返回类型后使用use()
,而 PHP7 在返回类型前使用use()
dict()
,vec()
和keyset()
现在位于HH\
命名空间。不过他们保留自动导入的特性,所以这种变更只会破坏完全限定的引用
HHVM 是由 Facebook 打造的 PHP 虚拟机,不过从 4.0 开始,HHVM 已停止支持 PHP,只用于执行 Hack 语言。
转自 https://www.oschina.net/news/107807/hhvm-4-11-0-released