PhpStorm 2026.1 Help

シグネチャーの変更

シグネチャーの変更リファクタリングは、関数シグネチャーに適用できるいくつかの異なる変更を組み合わせます。 このリファクタリングを使用して、次のことができます。

  • 関数名と戻り値の型を変更する

  • パラメーターの追加、削除、並べ替え

  • パラメーターにデフォルト値を割り当てます

  • パラメーター名と型を変更する

  • 関数呼び出し階層を介して新しいパラメーターを伝播する

関数のシグネチャーを変更すると、PhpStorm は関数のすべての使用箇所を検索し、変更を反映できるすべての呼び出し、実装、オーバーライドの置き換えを更新します。

シグネチャーの変更 リファクタリングは PHP と JavaScript でのみサポートされています(JavaScript のリファクタリング を参照)。

新しいパラメーターのデフォルト値と伝播

関数に追加された新しいパラメーターごとに、 デフォルト フィールドにデフォルト値(または式)を指定できます。

また、導入したパラメーターを、シグネチャーを変更する関数を呼び出す関数に伝達することもできます。 リファクタリングの結果は、デフォルト値を指定するかどうか、および伝播を使用するかどうかによって異なります。

伝搬: シグネチャーを変更している関数を呼び出す関数には、新しいパラメーターを伝播できます。 そのような場合、一般に、呼び出し関数のシグネチャーはそれに応じて変わります。 ただし、これらの変更は新しいパラメーターに設定されているデフォルト値にも依存します。

デフォルト: 通常、これは関数呼び出しに追加される値です。 新しいパラメーターが呼び出し元の関数に伝達されない場合、そのような関数内の呼び出しでもこの値が使用されます。 伝播が使用される場合、この値は呼び出し元の関数内の関数呼び出しに影響しません。

パラメーターの追加

  1. 赤色でハイライトされている 戻る 値をクリックします。

  2. Alt+Enter を押して {0} ''{1}'' を作成する を選択します。

  3. シグネチャーの変更 ダイアログで、パラメーター設定を調整するか、提案された設定を受け入れます。

  4. リファクタリング をクリックしてください。

関数のシグネチャーを変更する

  1. リファクタリングする関数の名前にキャレットを置きます。

  2. Ctrl+F6 を押す。 または、メインメニューまたはコンテキストメニューから リファクタリング | シグネチャーの変更 を選択します。 シグネチャーの変更 ダイアログが開きます。

    シグネチャーの変更ダイアログ
  3. シグネチャーの変更 ダイアログで、必要に応じて関数シグネチャーに必要な変更を加えます。

    • 関数名を変更します。 名前を変更するには、 命名 フィールドのテキストを編集します。

    • 戻り値の型 フィールドの内容を編集して、関数の戻り値の型を変更します。

    • 関数パラメーターを管理します。 パラメーターを設定するには、 パラメーター 領域のテーブルとボタンを使用します。

      • 新しいパラメーターを追加するには、 The Add button をクリックし、対応するテーブル行で新しいパラメーターのプロパティを指定します。

        コード補完を使用するには、 Ctrl+Space を押します。

        • 関数の署名に影響するパラメーターのデフォルト値を提供するには、次のように パラメーター フィールドを使用します。

          $parameterName = 'parameterValue';
        • 関数の呼び出しに影響する引数のデフォルト値を提供するには、 デフォルト フィールドを argumentValue として使用します。

        パラメーターを追加するとき、現在の関数を呼び出す関数に 伝播したい場合があります。

        PHP コンテキストでは、 シグネチャーの変更リファクタリングがクラスのコンストラクターから呼び出されると、新しいパラメーターをクラスプロパティとして初期化できます。 これを行うには、 クラスプロパティの作成と初期化 チェックボックスを使用します。

        • このチェックボックスを選択すると、新しく追加されたパラメーターはフィールドとして初期化されます。 PhpStorm はこのパラメーターと同じ名前のフィールドを作成し、次の代入行を追加します:

          $this->parameterName = $parameterName;
        • チェックボックスをオフにすると、初期化せずにパラメーターが追加されます。

        新しいプロパティはデフォルトの可視性修飾子で作成されます。この修飾子は コード生成タブの コードスタイルで設定されています。 PHP ページは、 設定 ダイアログ(Ctrl+Alt+S )内にあります。

      • パラメーターを削除するには、任意の行を選択して The Remove ボタン をクリックします。

      • パラメーターの順序を変更するには、 The Up icon および The down icon をクリックします。 例: 特定のパラメーターをリストの最初に配置する場合は、そのパラメーターに対応する行のセルのいずれかをクリックし、必要な回数 The Up icon をクリックします。

      • パラメーターの型、名前、デフォルト値を変更するには、パラメーターのテーブル(タイプ および パラメーター フィールド)で必要な更新を行います。

    • 現在の関数を呼び出す関数の階層に沿って、新しいメソッドパラメーター(存在する場合)を伝播します。 シグネチャーを変更する関数を呼び出す関数が存在する場合があります。 これらの関数は、順番に他の関数などから呼び出される場合があります。 呼び出し側関数の階層を通じて現在の関数のパラメーターに加えた変更を伝達し、どの呼び出し側関数が影響を受けるべきで、どの呼び出し側関数が影響を受けないかを指定できます。

      新しいパラメーターを伝播するには:

      1. パラメーターの伝播 ボタン the Propagate Parameters button をクリックします。

      2. 新規パラメーターを伝播するメソッドの選択 ダイアログの左側のペインで、必要なノードを展開し、新しいパラメーターを伝播させたい機能の横にあるチェックボックスを選択します。

        伝播パラメーターダイアログ

        必要な機能を選択するのに役立つように、呼び出されている関数と呼び出されている関数のコードがダイアログの右側に表示されます(それぞれ 呼び出し元メソッド呼び出し先メソッド ペインにあります)。

        左ペインの機能を切り替えると、右ペインのコードもそれに応じて変わります。

      3. OK をクリックしてください。

  4. 予想される変更を確認し、リファクタリングの前に調整を行うには、 プレビュー をクリックします。

  5. リファクタリング をクリックしてください。

サンプル

例 1

この例は、同じ シグネチャーの変更リファクタリングを実行する 3 つの異なる方法を示しています。 すべての場合において、 結果() 関数は generateResult () に名前変更され、新しい $b パラメーターがこの関数に追加されています。

例は、リファクタリング設定に応じて、関数呼び出し、呼び出し関数 showResult() およびその他のコードフラグメントがどのように影響を受けるかを示しています。

function result($a) { } function showResult($a) { $this->result($a); }

関数名が変更され、新しい $b パラメーターが追加されます。

function generateResult($a,$b) { } function showResult($a,$b) { $this->generateResult($a,$b); }

関数の名前が変更され、新しい $b パラメーターが new_param デフォルト値とともに追加されます。

function generateResult($a,$b) { } function showResult($a) { $this->generateResult($a,'new_param'); }

関数の名前が変更され、新しい $b パラメーターが追加され、 showResult() 呼び出し関数を介して関数呼び出しに伝搬されます。

function generateResult($a,$b) { } function showResult($a,$b) { $this->generateResult($a,$b); }

例 2

この例では、 __construct() メソッドで シグネチャーの変更リファクタリングを呼び出し、新しい $q パラメーターを追加します。 結果は、 クラスプロパティの作成と初期化 チェックボックスが選択されているかどうかによって異なります。 新しいフィールドはデフォルトの可視性修飾子で作成されます。この修飾子は コード生成タブの コードスタイルで設定されています。 PHP ページの 設定 ダイアログ(Ctrl+Alt+S)。

class ChangeSignatureNewParam { function __construct() { $a = "Constructor in ChangeSignatureNewParam"; print $a; } }

クラスプロパティの作成と初期化 チェックボックスが選択されています:

class ChangeSignatureNewParam { private $q; function __construct($q) { $a = "Constructor in ChangeSignatureNewParam"; print $a; $this->q = $q; } }

クラスプロパティの作成と初期化 チェックボックスがオフになります。

class ChangeSignatureNewParam { function __construct($q) { $a = "Constructor in ChangeSignatureNewParam"; print $a; } }

シグネチャーの変更ダイアログ

シグネチャーの変更リファクタリングは、関数シグネチャーに適用できるいくつかの異なる変更を組み合わせます。 このリファクタリングを使用して、次のことができます。

  • 関数名と戻り値の型を変更する

  • パラメーターの追加、削除、並べ替え

  • パラメーターにデフォルト値を割り当てます

  • パラメーター名と型を変更する

  • 関数呼び出し階層を介して新しいパラメーターを伝播する

関数のシグネチャーを変更すると、PhpStorm は関数のすべての使用箇所を検索し、変更を反映できるすべての呼び出し、実装、オーバーライドの置き換えを更新します。

シグネチャーの変更 リファクタリングは PHP と JavaScript でのみサポートされています(JavaScript のリファクタリング を参照)。

項目

説明

命名

関数、メソッド、メソッド仕様の名前。

パラメーター

シグネチャー内のパラメーターのリスト。 パラメーター 項目では、パラメーターを使用して以下のアクションを実行することができます。

  • 追加 追加アイコン: 新しいパラメーターを追加します。 対応するテーブル行で新しいパラメーターのプロパティ(名前、型、デフォルト値)を指定できます。

  • 削除 The Remove icon: パラメーターを削除します。

  • The Up icon The Down アイコン アイコン:パラメーターの並び順を変更します。

2026 年 5 月 22 日