升级php7_PhpStorm 2019.3 发布,全面支持 PHP 7.4

1040dc6aacf31d6576bfd72ca58b514f.pngPhpStorm 2019.3 发布了,这个版本主要集中在性能和质量上,旨在提供一个更稳定、更快的 IDE。PhpStorm 2019.3 全面支持 PHP 7.4,还带来 PSR-12 代码样式,用于远程解释器的 WSL,MongoDB 支持,HTTP 客户端更新以及许多可用性改进。

性能与质量

  • 更快的 IDE 启动
  • 更好的 UI 响应能力
  • 减少内存消耗

版本控制子系统中也有性能优化。开发团队已经设法改进了事件处理和忽略文件的处理。在大型项目中,冻结更少,状态更新更快。

PHP 7.4

类型属性

这可能是 PHP 7.4 最令人期待的功能。PhpStorm 会高亮类型违规:

d5099fb7c9b0574c2ad08626cdd43706.png

也许很快可以实现快速为属性添加类型声明,因为 PhpStorm 可以根据 PHPDoc、默认值或在将值注入到构造函数中时定义的类型来检测现有属性的类型。

可以在没有类型的属性上按 Alt+Enter 键,然后为该字段选择添加声明的类型:

d4cd9bb72b849f1bf2ce50d690b2126d.gif

箭头功能

如果主体中有一个带有单个语句的匿名函数,则在 PHP 7.4 中,现在可以将其转换为短箭头函数:fn(parameter_list) => expr

9e02f8bcd68e51f0b1a4b5e54012ec78.png

并且不需要编写 use 节,因为它具有外部范围变量的自动按值绑定:

958e656d1e1849510e241a2a53bec6d9.png

在匿名函数上按 Alt+Enter 并使用将闭包转换为箭头函数选项:

0d469210b3400251d83828a7e7763d92.gif

数值文字分隔符

现在可以在数字中的任何位置添加下划线符号,以直观地对其进行格式设置。在任意数字上按 Alt+Enter 并添加数字分隔符。这会在每三位数的十进制数字或在十六进制,二进制和八进制的每四位数之后添加下划线“ _”。

嵌套三元运算符

几乎所有的编程语言都从右到左计算三元运算符。PHP 的做法有所不同,这有可能导致错误。现在,PHP 7.4 弃用了左关联性。这意味着要么根本不应该使用嵌套的三进制,要么必须使用括号,以明确声明计算顺序。

PhpStorm 2019.3 高亮了已弃用的表达式,可以使用快速修复来阐明行为。

c68b7d9ba1b340b0c12eb12eb9a6e8d3.gif

新的序列化机制

由于现有序列化的问题无法解决,因此 PHP 核心团队决定引入两种新的方法 methods __serialize() 和 __unserialize(),PhpStorm 将帮助你在代码中找到这些方法的用法。

协变量返回和协变量参数

PHP 7.4 修复了多个不一致,其中之一与类型系统有关。现在,当使用从父类继承的方法时,可以为其定义一个更具体的返回类型,而不是具体的参数类型。

5f65006ddb98a471aa7deabb424a6517.gif

随着 PHP 7.4 的发布,PHP 的旧版本将被抛弃,现在正式不支持 PHP 7.1,请尽快升级。

本次更新带来大量更新内容,具体可见更新说明:

https://blog.jetbrains.com/phpstorm/2019/11/phpstorm-2019-3-release/

相关链接

  • PhpStorm 的详细介绍:点击查看
  • PhpStorm 的下载地址:点击下载

来源:

https://www.oschina.net/news/111750/phpstorm-2019-3-released

文章转载自 OSCHINA 社区 [http://www.oschina.net]

·END·

PHP开源社区进阶·提升·涨薪d4bb76d7d75e74de976d046b2c2f2271.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ftp 客户端 使用http代理 源码_代理服务器连接HTTPS过程

说到HTTPS代理很多人瞬间就会联想到HTTPS的各种证书和各种加密,觉得很高端很复杂的样子。其实不然,代理服务器不需要配置证书、也不需要处理任何加密。因为HTTPS代理是通过Web隧道(Web tunnel)工作的。Web隧道允许用户通过HTTP连接发送非HTTP流量(例如FT…

python解zuobiaoxi方程_Python还能解决数学相关问题?大学生:以后就靠他了,事半功倍...

问题背景高等数学应用非常广,基本上涉及到函数的地方都要用到微积分,还有在几何方面也是如此,计算机的应用让我们能简单快速处理各种高等数学中的计算,比如极限、导数、积分、微分方程等的计算。实验目的使用 Python 通过计算与作…

Android版:验证手机号码的正则表达式 (转)

/** * 验证手机格式 */ public static boolean isMobileNO(String mobiles) { /* 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188 联通:130、131、132、152、155、156、185、186 电信:133、…

基础正则表达式介绍与练习

基础正则表达式介绍与练习 一、什么是正则表达式 在做文字处理或编写程序时,用到查找、替换等功能,使用正则表达式能够简单快捷的完成目标。简单而言,正则表达式通过一些特殊符号的帮助,使用户可以轻松快捷的完成查找、删除、替换…

android canvas 网络图,【巨坑:toDataURL】canvas合成网络图片

不知有没有小伙伴用过canvas合成图片,然后爆炸报错截图尼玛,然后各种搜索,不外乎以下几种坑爹处理方案:后端处理,比如Access-Control-Allow-Origin "*"(要是请求到其他网站的图片就不适用了,比如…

水晶报表如何查看sql_有了这个报表工具,一键生成自定义的各种报表,还可以导出Excel...

EasyReport是一个简单易用的Web报表工具,它的主要功能是把SQL语句查询出的数据转换成报表页面, 同时支持表格的跨行(RowSpan)与跨列(ColSpan)配置。 同时它还支持报表Excel导出、图表显示及固定表头与左边列的功能。功能介绍本工具从数据库(MySQL,Oracle,SQLServer,…

python 三维向量 交互_Blender实现Nature of Code1.5单位向量[Nature of Node 004]

【Nature of Node #004】Blender创意编程进阶应用:实现Nature of CodeNature of Code 1.5, Unit Vector (Normalize)背景介绍这个系列“Nature of Node”,是专门用Blender的Node(节点)方式来实现Nature of Code。用到一个Blender插…

Sitemesh3的使用及配置

1 . Sitemesh 3 简介 Sitemesh 是一个网页布局和修饰的框架,基于 Servlet 中的 Filter,类似于 ASP.NET 中的‘母版页’技术。参考:百度百科,相关类似技术:Apache Tiles。 官网:http://wiki.sitemesh.org/wi…

等保项目流程

等级保护:直属管理公安局 产品必须通过公安局安全许可证分级保护:直属管理保密局 产品必须通过保密局销售许可证等级保护:一般分为5级,目前最高用到是等保4级总概:定级——前期调研——总…

鸿蒙系统r如何升级,高歌猛进,鸿蒙系统升级机型再次确认,花粉:终等到!...

虽然华为手机现在的压力非常大,但是在前进的道路上,真的充满了乐观精神,而且现在也算是一路高歌猛进了,发展路线开始加快了许多,无论是新机还是系统,都有着非常多的新消息。因为华为手机的实力很强&#xf…

Oracle快速备份表数据

Oracle数据库中备份表数据。 例子: 1 create table table_name_bak as select * from table_name 1 create table table_name_bak as select * from table_name 2 where table_name.date between TO_DATE(2018-09-25,yyyy-MM-dd) and TO_DATE(2018-09-26,yyyy-MM-d…

git pull

今天在服务器上git pull是出现以下错误: error: Your local changes to the following files would be overwritten by merge: application/config/config.php application/controllers/home.php Please, commit your changes or stash them before you can merge. …

jq控制div是否展示_jQuery控制多个DIV的显示和隐藏

问题补充&#xff1a;这是我写的JSfunction Previous(){for(var i1;i<3;i){if(document.getElementById("d"i).style.display"block"){document.getElementById("d"(i-1)).style.display"block";}document.getElementById("d&…

C# 线程间不能调用剪切板的问题

最近做一个项目&#xff0c;需要用到线程&#xff0c;而且要用到剪切板&#xff0c;创建了一个子线程之后发现在子线程中剪切板上获取不到数据&#xff0c;当时特别纳闷&#xff0c;上网查资料&#xff0c;最后终于搞定&#xff0c;现将解决方法归纳如下&#xff1a; 第一步&am…

android studio背景模糊_[Android翻译]CameraX:过去、现在和未来的一瞥

CameraX是一个未捆绑的Android Jetpack库&#xff0c;它可以帮助你在Android应用中轻松添加摄像头功能。传统上&#xff0c;由于Android设备种类繁多&#xff0c;编程模型复杂&#xff0c;在Android上构建具有相机功能的应用程序非常困难。现在成千上万的开发者都在使用CameraX…

html页面根据分辨率缩放,html2Canvas根据不同分辨率,生成pdf内容自适应

根据屏幕大小不同&#xff0c;页面内容自适应并一页展示&#xff0c;应该如何实现// 导出页面为PDF格式import html2Canvas from html2canvasimport JsPDF from jspdfexport default{install (Vue, options) {Vue.prototype.getPdf function () {setTimeout(() > {var titl…

【agc002f】Leftmost Ball(动态规划)

【agc002f】Leftmost Ball&#xff08;动态规划&#xff09; 题面 atcoder洛谷 题解 我们从前往后依次把每个颜色按顺序来放&#xff0c;那么如果当前放的是某种颜色的第一个球&#xff0c;那么放的就会变成\(0\)号颜色&#xff0c;所以无论何时&#xff0c;\(0\)号颜色的数量不…

VS2010中的快捷键

一. VS2010中的快捷键 1&#xff1a; Ctrl Enter &#xff08;在光标指定位置的上 K C &#xff08;注释&#xff09; Ctrl E U &#xff08;取消注释&#xff09;  <>  Ctrl K U &#xff08;取消注释&#xff09; 5&#xff1a; Tab &#xff08;增加缩进&a…

export function函数传参_04 js高阶函数(惰性函数、柯里化函数、compose函数)和单例设计模式...

高阶函数的定义在《javascript设计模式和开发实践》中是这样定义的。函数可以作为参数被传递&#xff1b;函数可以作为返回值输出。结合这两个特点&#xff0c;首先想到的肯定是回调函数&#xff0c;回调函数也是高阶函数的一种&#xff0c;除了回调函数&#xff0c;还有很多的…

Javascript构造函数的继承

仅供学习参考&#xff0c;原文链接&#xff1a;http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance.html 今天要介绍的是&#xff0c;对象之间的"继承"的五种方法。 比如&#xff0c;现在有一个"动物"对象的构造函数。 funct…