PhpStorm 2025.2 Help

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> 语法。

支持 int<min, max> 语法

Psalm 注解

PhpStorm 内置支持 特定于 Psalm 的注解。 在指定注解时,大多数情况下您可以省略 @psalm- 部分。 支持的类型注解包括:

  • Psalm 类型注解。 您可以将这些注解用于伪类型,例如 numericscalar ,以向 PhpStorm 提供额外的类型信息。

    提供伪类型的 Psalm 注解
    提供伪类型的 Psalm 注解
  • @psalm-param注解,用于指定方法可以接受的类型。 在这种情况下,PhpStorm 开始支持该类型的所有属性和方法。

    提供 Psalm 参数注解

    通过 @psalm-param@psalm-var 标签提供类型定义时,您可以使用常量值联合(| )和通配符(* )来处理具有共同前缀的常量。

    提供常量值联合的 Psalm 注解
  • @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注解。 初始支持涵盖了一个简单的情况,即函数返回其参数之一。

提供模板 Psalm 注解
最后修改日期: 2025年 9月 26日