HHVM 3.28 已发布,该版本的更新内容包含新的语言特性、bug 修复、性能改进和针对调试器以及编辑器/IDE 的改进。
下面简单介绍一下值得关注的更新。
新特性
- 新增 is 和 as 表达式以作为类型细化,并为 is_*() 函数和 instanceof 提供了一致的替代方案
- shape keys 现已支持自动补全
- 带有泛型的类型常量现在支持约束 —— 例如常量类型 TMyVec<T as Foo> = vec<T>
- 实验性阶段:<<__MemoizeLSB>> 属性:这就像 <<__Memoize>>,但缓存拥有 Late Static Binding(子类有自己的 memoize 缓存)
- 实验性阶段:<<__LateInit>> 属性:这会将属性标记为通过非标准机制进行初始化,即不通过构造函数中的标准赋值。而读取未初始化的 <<__LateInit>> 属性属于运行时错误
此外还包括向后兼容的变化,详情请查看发布说明。
转自 https://www.oschina.net/news/99443/hhvm-3-28-0-released