メンバーをプルアップ、メンバーをプッシュダウンする
メンバーのプルアップリファクタリングでは、クラスメンバーを親クラスに移動できます。これは、クラス階層の最下部から機能を追加し始め、より一般的なケースでも使用できることに気づいたときに役立ちます(そうでなければ、コードの一部が親クラスで廃止される可能性がありますが、その子供の)。メンバーのプルアップリファクタリングでは、あるクラスのメソッドやフィールドを手動でコピーして別のクラスに貼り付け、内部参照をメンバーに修正する必要がなくなりました。
メンバーのプッシュダウンリファクタリングは、クラスメンバーをサブクラスに移動することによってクラス階層をクリーンアップできます。その後、メンバーは直接サブクラスにのみ再配置されます。
メンバーのプルアップ
親クラスに移動するクラスを選択します。
メインメニューまたはコンテキストメニューからを呼び出します。「メンバーのプルアップ」ダイアログが表示されます。
宛先オブジェクト(親クラス)を選択します。
メンバーセクションで、移動するメンバーを選択します。
選択したメンバーを宛先に移動するには、リファクタリングをクリックします。
サンプル
親クラス Vehicle を拡張するクラス Car があるとします。printPassengers() メソッドと $numOfPassengers フィールドを Car から Vehicle にプルしてみましょう。
クラス
Car内にキャレットを配置し、コンテキストメニューから を選択します。開いたメンバーのプルアップダイアログで、
printPassengers()と$numOfPassengersの隣にあるチェックボックスを選択します。PhpStorm は、$numOfPassengersの可視性が非公開から保護に変更されることをお知らせします。
リファクタリングをクリックします。
リファクタリング後、クラスは次のようになります。
メンバーのプッシュダウン
エディターで、メンバーをプッシュダウンする必要があるクラスを開きます。
メインメニューまたはコンテキストメニューから、を選択します。メンバーのプッシュダウンダイアログは、プッシュダウンされるメンバーのリストを表示します。
プルダウンするメンバー領域で、移動するメンバーを選択します。キャレットのメンバーはすでに選択されていることに注意してください。
メンバーをプッシュすると問題が発生する可能性がある場合は、赤いハイライトで通知されます。状況が無人の場合、リファクタリング後にエラーが発生することを意味します。PhpStorm は問題を無視または修正することができる問題検出ダイアログを表示します。
プレビューと変更の適用
サンプル
Vehicle クラス、Vehicle を拡張する Car クラス、Vehicle も拡張する Truck クラスがあるとします。start() メソッドを親クラス Vehicle からその子クラス Car および Truck にプッシュしましょう。
キャレットを
Carクラス内に配置し、コンテキストメニューからを選択します。開いたメンバーのプッシュダウンダイアログで、
start()の横にあるチェックボックスを選択し、リファクタリングをクリックします。
リファクタリング後、クラスは次のようになります。
関連ページ:
メンバーのプルアップダイアログ
このダイアログを使用して、選択したメンバーを選択した親クラスにプルアップします。<class_name> のメンバーをプルアップ宛先オブジェクト(親クラス)を選択します。プルアップするメンバーこの領域で、移動するメンバーを選択します。2024 年 10 月 08 日メンバーをプルアップ、メンバーをプッシュダウンするメンバーのプッシュダウンダイアログ
コピーして移動リファクタリング
移動リファクタリングを使用すると、クラス、クラスメンバー(メソッド、フィールド、定数)、通常の関数、定数、HTTP リクエストファイル、プロジェクト内のディレクトリを移動できます。その際、PhpStorm はこれらの動きを追跡し、ソースコード内の移動されたシンボルへのすべての参照を自動的に修正します。ファイルまたはディレクトリを別のディレクトリに移動する:プロジェクトツールウィンドウでファイルまたはディレクトリを選択します。以下のいずれか 1 つを実行します: に移動します。選択のコンテキストメ...