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 は、 @templateアノテーションを通じて PHP のジェネリクス型をサポートします。 初期サポートでは、関数がパラメーターの 1 つを返す単純なケースがカバーされています。
