内容简介:HHVM 3.23 已发布,此版本包含新功能、错误修复、性能改进和支持未来改进的工作。 有以下值得关注的更新: optional shape fields 现在与 nullable shape fields 不同,有关帮助迁移的详细信息和工具,请参阅 3...
HHVM 3.23 已发布,此版本包含新功能、错误修复、性能改进和支持未来改进的工作。
有以下值得关注的更新:
optional shape fields 现在与 nullable shape fields 不同,有关帮助迁移的详细信息和工具,请参阅 3.22 发布公告。
支持 VSCode 语言服务器协议,这将很快被 Nuclide 的 Hack 整合使用
函数可能不再命名为
using()
,因为这将与即将到来的using
特性相冲突支持使类型检查器完全忽略某些文件;这是通过
ignored_paths
.hhconfig
实现的,其中包含一个正则表达式数组 - 例如,ignored_paths = [ "vendor/.*tests?/"
现在支持元组常量
方法调用现在支持括号表达式
修复了一些需要中断(Ctrl-C) hh_client的情况
支持针对 OpenSSL 1.1 进行构建,例如 Debian Stretch,Ubuntu Zesty 和 Ubuntu Artful
Hack 的实验性 bytecode emitter 替代方案
即将到来的变更:
Call-Time Pass-By-Reference
HHVM 3.24 将要求引用参数在调用点处标记 - 例如:
function foo(array<string> $bar): void { sort(&$bar); }
3.23 中的 Hack 允许使用这种语法,但不需要这种要求。可以通过在 .hhconfig
中将 safe_pass_by_ref
添加到 enable_experimental_tc_features
来选择加入这种要求。
Lambda 类型推断
在 HHVM 3.24 中,将使用预期的 lambda 类型来改进它们;例如,下面的代码没有错误:
<?hh // strict class MyClass {} class MyClosureRunner<-T> { public function __construct(private (function(T): string) $closure) {} } function expectsMyClosureRunnerMyClass( MyClosureRunner<MyClass> $x, ): MyClosureRunner<MyClass> { return $x; } function getThing1(): MyClosureRunner<MyClass> { $var = expectsMyClosureRunnerMyClass( new MyClosureRunner( function(/* MyClass */ $arg) { $arg->missing_method(); return "ok"; }, ), ); return $var; }
在 3.24 中,或者在 .hhconfig
中使用 enable_experimental_tc_features=contextual_inference
,typechecker 会引发以下错误:
test.php:19:15,28: Could not find method missing_method in an object of type MyClass (Typing[4053]) test.php:10:19,25: This is why I think it is an object of type MyClass test.php:3:7,13: Declaration of MyClass is here
更新内容较多,详情请查看发布主页。
目前,3.23 的最新修正版 3.23.2 也已发布。
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上所述就是小编给大家介绍的《HHVM 3.23 发布,高速的 PHP 执行引擎》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 符号执行——从入门到上高速
- HHVM 3.23.3 发布,高速的 PHP 执行引擎
- 技术助力高速增长,未来5年智能门锁或迎来高速增长
- 微服务高速通信设计
- 手动编译高速扫描器MasScan
- HHVM 4.100 发布,高速开源虚拟机
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
实现领域驱动设计
Vaughn Vernon / 滕云 / 电子工业出版社 / 2014-3 / 99.00元
领域驱动设计(DDD)是教我们如何做好软件的,同时也是教我们如何更好地使用面向对象技术的。它为我们提供了设计软件的全新视角,同时也给开发者留下了一大难题:如何将领域驱动设计付诸实践?Vaughn Vernon 的这本《实现领域驱动设计》为我们给出了全面的解答。 《实现领域驱动设计》分别从战略和战术层面详尽地讨论了如何实现DDD,其中包含了大量的最佳实践、设计准则和对一些问题的折中性讨论。《实......一起来看看 《实现领域驱动设计》 这本书的介绍吧!