PhpStorm 2024.1 ヘルプ

PHP の型チェック

PhpStorm は、複合データ型、疑似型、ジェネリクス形式の表記法を含む PHP データ構造を解析および検証できる静的コード分析ツールです。

PHPDoc 型アノテーションまたは属性構文を使用して PHP コードの型安全性を強制する場合、PhpStorm は定義されたキーと値の型を推測し、該当する場合はコード補完またはクイックフィックスを提案します。PHP の型チェックは以下に対してサポートされています。

オブジェクトと配列の形状

PhpStorm は、PHPDoc ブロックまたは属性 (#[ArrayShape]#[ObjectShape]) 経由で、オブジェクトおよびオブジェクトのような配列に対して宣言されたキーと値の構造を解析します。入力すると、IDE は値のタイプを推測し、キーに対してコード補完を呼び出します

自動コード補完が無効になっている場合は、Ctrl+Space を押すか、メインメニューからコード | コード補完 | 基本を選択します。

Array shape example

その他の例については、このブログ投稿(英語)を参照してください。

既存のオブジェクト形状のアノテーションを生成するには、関連するコード要素にキャレットを置き、Alt+Enter を押して、開いたメニューから「#[ObjectShape]」属性を追加または ObjectShape を PHPDoc に追加するコンテキストアクションを選択します。

同様に、配列形状のコンテキストアクションは「#[ArrayShape]」属性を追加および ArrayShape を PHPDoc に追加するです。

Array shape example

整数の範囲

指定された値が指定された許容される整数の範囲内にあることを PhpStorm にチェックさせるには、PHPDoc アノテーションで int<min, max> 構文を使用します。

Support for int<min, max> 構文 " src="https://resources.jetbrains.com/help/img/idea/2024.1/php_integer_ranges_support.png" class="article__bordered-element" title="int のサポート<min, max>構文 " data-dark-src="https://resources.jetbrains.com/help/img/idea/2024.1/php_integer_ranges_support_dark.png" width="706" height="267"></figure><aside class=

数値範囲が一致しませんインスペクションも参照してください。

Psalm アノテーション

PhpStorm には Psalm 固有のアノテーション(英語)のサポートが組み込まれています。アノテーションを指定する場合、ほとんどの場合、@psalm- 部分は省略できます。サポートされている型アノテーションには次のものがあります。

  • Psalm タイプのアノテーション(英語)。これらのアノテーションを numericscalar などの疑似型に使用して、PhpStorm に追加の型情報を提供できます。

    Providing a pseudotype Psalm annotation
  • @psalm-param (英語) アノテーション。メソッドが受け入れることができる型を指定します。この場合、PhpStorm はその型のすべてのプロパティとメソッドのサポートを開始します。

    Providing a Psalm parameter annotation

    @psalm-param または @psalm-var タグを介して型定義を提供する場合、共通の接頭辞を共有する定数に定数の値の共用体(|)およびワイルドカード(*)を使用できます。

    Providing a constants values union Psalm annotation
  • @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 つを返す単純なケースがカバーされています。

Providing a template Psalm annotation

関連ページ:

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、PhpStorm はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します (提案にはライブテンプレートも含まれます)。基本コード補完がフィールド、パラメーター、変数宣言の一部に適用されている場合、PhpSto...

結果の取得と問題の解決

インスペクションがあなたのコードに問題を検出した場合、すぐにエディターで修正を適用することができます。ハイライトされたコード部分にキャレットを置き、を押します。PhpStorm では、一部のインスペクションのクイックフィックスの横に対話型プレビューが表示されます。を押すと、このプレビューを非表示にしたり表示したりできます。問題ツールウィンドウで修正を適用する:インスペクションを手動で起動した場合は、解析が終了した後に自動的に開く問題ツールウィンドウで結果を調べることができます。検出された問

プラグインのインストール

プラグインは PhpStorm のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。新しいプログラミング言語を学ぶのに役立つコーディング演習。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrains マーケッ...

行全体コード補完

行全体コード補完機能は、ローカルで実行されるディープラーニングモデルを使用して、コードの行全体を提案します。PHP、JavaScript/TypeScript、CSS コードを入力すると、灰色の斜体でエディターに提案が表示されます。提案を受け入れるには、を押します。IDE はすべての提案をフォーマットし、必要な括弧と引用符を追加します。サポートされている各言語には、独自のコードチェックセットが提案されています。未解決の参照チェックなどの最も基本的なチェックは、ほとんどの言語で利用可能であり、I...

自動インポート

現在のファイルの外部で定義されている PHP クラスを参照すると、PhpStorm はそのクラス定義を見つけて、次のいずれかを実行できます。クラスが定義されている名前空間を含む、完全修飾クラス名を自動的に補完します。短いクラス名を自動的に補完させ、クラスが定義されている名前空間をインポートします。クイックフィックスを使用してネームスペースを手動でインポートします。ステートメントがインポートセクションに追加されますが、キャレットは現在の位置から移動せず、現在の編集セッションは中断されません。この機...