PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。
这个主要版本包括对PHP 8,静态分析器PHPStan和Psalm,Xdebug 3,Tailwind CSS,通过Code With Me进行协作开发的全面支持。
PhpStorm 2020.3现已上市!
下载PHPSTORM 2020.3
阅读有关所有新功能和重要更新以及大量GIF的详细信息!
- PHP 8:支持所有语言功能,甚至开源的Custom Attributes。
- PHPStan和Psalm可以直接在代码编辑器中或以批处理方式检测问题。
- Xdebug 3具有简化的配置,以及调试器的改进,例如嵌入式监视和交互式提示。
- HTTP客户端现在可以运行Guzzle请求并将请求复制为cURL。
- 协作开发使您可以与他人共享您的项目,并实时一起进行。
- 在编辑器中,您现在可以使用Mermaid.js渲染图和图表,更轻松地拆分选项卡,并即时预览文件而无需打开它们。
- 各种各样的 IDE 增强功能:“无处不在的搜索”有了一些新的举措。IDE视觉主题与操作系统保持同步。将PhpStorm设置为打开文件的默认应用程序。
- 现在支持Git stage作为变更列表的替代。
- 数据库工具为MongoDB和新的数据提取器带来了对SQL的支持。
- Tailwind CSS,为Tailwind类提供编码帮助。
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]属性中受益。
点击“ 了解更多 ”获取更多详细更新内容
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~