PhpStorm 2020.2:新增PHP 8联合类型,新控制流引擎等|附下载

这个主要版本包括对PHP 8 Union Types的支持,对PHP的新控制流引擎,IDE内的完整GitHub Pull Request工作流支持,全新的Inspection小部件,通过插件的OpenAPI支持等等。

PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。

下载PHPSTORM 2020.2最新试用

PHP 8 Union Types

PHP 8将具有许多新功能,在某种程度上您几乎可以称其为新语言。我们已经开始较早推出对版本8的支持,第一个主要功能是联合类型。

联合类型T1|T2|…可以在当前可以指定任何类型的地方使用:参数,属性或返回值。在这种情况下,变量可以接受任何列出的类型。

联合类型早已在PHPDoc标记中使用,但是现在它们实际上将在运行时由解释器检查。

切换语言等级

要查看所有功能,需要将语言版本切换为PHP8。可以在“ Languages & Frameworks | PHP | PHP language level”中手动进行操作。P

Alt+Enter如果已经有一些具有新功能的代码,则也可以使用快速修复程序进行切换。

而且,如果在composer.json中指定了PHP版本限制,则PhpStorm将自动切换。

PhpStorm 2020.2:新增PHP 8联合类型,新控制流引擎等|附下载

将PHPDoc转换为本地联合类型

您可以Alt+Enter对PHPDoc标记联合类型调用快速修复,以将其转换为本地联合类型。

PhpStorm 2020.2:新增PHP 8联合类型,新控制流引擎等|附下载

删除不必要的PHPDocs

如果PHPDoc标记仅包含类型声明,则它现在可能是多余的,可以通过Alt+Enter快速修复将其删除。

PhpStorm 2020.2:新增PHP 8联合类型,新控制流引擎等|附下载

我们正在考虑添加在提交之前在清理阶段运行此修复程序的功能。

类型验证

PhpStorm已经能够使用PHPDoc标签分析类型并查找违规。但是通过本地声明,这些功能变得更加广泛。

PhpStorm 2020.2:新增PHP 8联合类型,新控制流引擎等|附下载

当违规乍一看不明显时,这在复杂代码中特别有用。

PhpStorm 2020.2:新增PHP 8联合类型,新控制流引擎等|附下载

伪类型返回false

如果发生错误,某些旧版函数可能会返回false。例如,strpos(),array_search(),和310个标准功能行为这种方式。

在这种情况下,可以将return类型声明为like int|bool,但是实际上它永远不会返回true。这是新的false伪类型有用的地方。

该false假只能被用作联合类型的一部分。否则,PhpStorm会将其突出显示为无效代码。

PhpStorm 2020.2:新增PHP 8联合类型,新控制流引擎等|附下载

重复和冗余类型

类型关联中的许多组合均被禁止或完全多余。例如:

  • bool|false—因为false是的一部分bool。
  • Foo|Foo或int|string|INT-重复。
  • object|User- object包含其他所有内容。
  • iterable|array或iterable|Traversable- iterable包含array和Traversable。
  • void —只能在返回值中使用,并且只能作为独立类型使用。
  • false或null-仅作为联合类型的一部分。

所有此类违规将在PhpStorm中突出显示。

PhpStorm 2020.2:新增PHP 8联合类型,新控制流引擎等|附下载

更多更新修复功能请持续关注后续文章。

如果你对我们的产品感兴趣或者有任何疑问,欢迎咨询在线客服>>

高端UI界面开发
标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年7月1日
下一篇 2020年7月1日

相关推荐

发表回复

登录后才能评论