PHP 类型检查
PhpStorm 是一个静态代码分析工具,可以解析和验证涉及复合数据类型、伪类型或泛型风格表示法的 PHP 数据结构。
如果您使用 PHPDoc 类型注解或属性语法来强制 PHP 代码的类型安全,PhpStorm 将推断键和值的定义类型,并在适用时建议 代码补全或 快速修复。 支持 PHP 类型检查的内容包括:
对象和数组形状
PhpStorm 解析在 PHPDoc 块或通过属性(#[ArrayShape], #[ObjectShape] )中声明的对象和类数组的键值结构。 在您输入时,IDE 会推断值类型并为键 调用代码补全。
如果自动代码补全被禁用,请按 Ctrl+Space 或从主菜单中选择 。

有关更多示例,请参见 此博客文章。
要为现有对象形状生成注解,请将插入符号放在相关代码元素上,按 Alt+Enter ,然后从打开的菜单中选择 添加'#[ObjectShape]' 特性 或 将ObjectShape 添加到 PHPDoc 上下文操作。
以类似方式,数组形状的上下文操作为 添加'#[ArrayShape]' 特性 和 将ArrayShape 添加到 PHPDoc。

整数范围
要让 PhpStorm 检查提供的值是否在接受的整数范围内,请在 PHPDoc 注解中使用 int<min, max> 语法。

Psalm 注解
PhpStorm 内置支持 特定于 Psalm 的注解。 在指定注解时,大多数情况下您可以省略 @psalm- 部分。 支持的类型注解包括:
Psalm 类型注解。 您可以将这些注解用于伪类型,例如
numeric或scalar,以向 PhpStorm 提供额外的类型信息。

@psalm-param注解,用于指定方法可以接受的类型。 在这种情况下,PhpStorm 开始支持该类型的所有属性和方法。
通过
@psalm-param或@psalm-var标签提供类型定义时,您可以使用常量值联合(|)和通配符(*)来处理具有共同前缀的常量。
@psalm-type注解,允许您为代码中的任何其他类型创建别名。/** @psalm-type UserName = array{name: string} */ class Name { /** @psalm-return UserName */ function toArray(): array { return ["name" => "Matt"]; } }@psalm-import-type注解,启用导入使用@psalm-type定义的类型。
泛型类型支持
PhpStorm 通过 PHP 中的泛型类型支持 @template注解。 初始支持涵盖了一个简单的情况,即函数返回其参数之一。
