这个紧张版本包括对PHP 8,静态剖析器PHPStan和Psalm,Xdebug 3,Tailwind CSS,通过Code With Me进行协作开拓的全面支持。
PhpStorm 2020.3现已上市!
下载PHPSTORM 2020.3

阅读有关所有新功能和主要更新以及大量GIF的详细信息!
PHP 8
PhpStorm 2020.3支持所有最新的措辞变动。以下是可用的功能以及如何在IDE中利用它。
从状态栏设置措辞级别
现在,状态栏始终显示项目的当前措辞级别。从那里进行切换,以利用PHP 8的新功能。
如果切换未激活,则意味着项目的composer.json中的措辞版本受到限定,您该当在该文件中对其进行调度。
命名参数
在PHP 8中,可以通过指定参数名称来通报函数和方法参数。现在,调用已自行记录,并且可选参数已成为真正的可选参数,由于您可以忽略它们。
利用添加名称标识符快速修复将位置参数转换为命名参数:
如果参数包含错字或没有匹配的参数,则PhpStorm会突出显示这些参数:
如果通报的值与参数的默认值相同,则PhpStorm会将参数变灰,您可以通过快速修复将其安全删除:
开拓职员常常利用选项数组来通报一组参数。利用命名参数,这不是必需的,由于您可以指定所需的参数。其余,与数组元素不同,以这种办法通报的参数是类型安全的。
属性
属性(别号表明)是一种新的构造化办法,用于在PHP中指定元数据。它们更换了PHPDoc注释。
要创建属性,请声明一个普通的类并#[Attribute]在其顶部添加一个标记。PhpStorm在此处供应了所有预期的功能,包括突出显示,代码完成,查找用法,重构等。
PHP本身仅在调用时才验证属性ReflectionAttribute::newInstance()。在此之前,如果不通过反射访问,则将完备忽略属性,以避免必须加载类和创建工具。
利用PhpStorm,无需运行反射API即可查看属性是否有效。逼迫实行以下规则:
指定的类实际上可以是一个属性。此属性仅适用于许可的目标:类,属性,方法,参数,函数或类常量。仅当具有Attribute::IS_REPEATABLE标志时,才重复此属性。这是与Symfony一起利用的属性:
PhpStorm中的自定义PHP 8属性
PhpStorm 2020.3中有几个可用的属性,它们位于\JetBrains\PhpStorm\名称空间下。
立即将它们添加到您的代码库中,以得到更好的代码完成和更多的检讨。
#[ArrayShape]
当定义一个实类时,此属性对付利用大略的数据构造或类工具数组很有用。
语法如下:
#[ArrayShape([// ‘key’ => ’type’, ‘key1’ => ‘int’, ‘key2’ => ‘string’, ‘key3’ => ‘Foo’, ‘key3’ => App\PHP 8\Foo::class,])]function functionName(...): array
type可以被指定为一个字符串或作为在FQN字符串或形式的类引用::class常量。
这是定义形状的数组。将其提取为常量,然后在实在用的属性内重用:
const MY_ARRAY_SHAPE = [] ;
#[ ArrayShape (MY_ARRAY_SHAPE )]
在PhpStorm中,我们已经注释了一些内部PHP函数,例如parse_url()with #[ArrayShape],因此您可以立即受益于这些属性。
幸运的是,单行属性的语法是向后兼容的。如果将#[ArrayShape]属性添加到PHP 7.项目的单独一行中,则PHP阐明器会将其解析为注释行。但是,多行属性对付8之前的PHP版本并不屈安。
与PHP阐明器不同,PhpStorm仍旧会剖析属性!
因此,纵然您的项目在PHP 7.4或更低版本上运行,您仍旧可以从添加#[ArrayShape]属性中受益。
点击“理解更多”获取更多详细更新内容