インターフェースの抽出
データを取得および格納するためのいくつかのメソッドを持つクラスがあるとします。 他のクラスでも同様の機能が使用される可能性が高いです。 このクラスを基にしてインターフェースを作成することは非常に役に立ちます。
インターフェースを抽出する
プロジェクト ビューまたは 構造 ビューでクラスを選択するか、エディターで名前を選択します。
メインメニューまたは選択項目のコンテキストメニューから、 を選択します。 「インターフェースの抽出 」ダイアログが表示されます。
インターフェース名 フィールドに、作成するインターフェースの名前を指定してください。 デフォルトでは、PhpStorm はインターフェースが抽出される現在のクラスの名前を提案します。 名前を更新しないと、PhpStorm はエラーを報告し、リファクタリングを開始できません。
抽出したインターフェースをすぐに適用するかどうかを PhpStorm で指定してください:
PhpStorm がインターフェースを作成し、ソースクラスへの参照をメソッドの PhpDoc コメントやパラメーターでインターフェースへの参照に置き換えるようにするには、 可能であればクラス参照をインターフェースに置き換える チェックボックスをオンにしてください。 提案された変更は、 検索 ツールウィンドウの リファクタリングプレビュー ペインに強制的に表示されます。 インスタンスがインターフェースで定義されていないメソッドまたはフィールドを参照する場合、インスタンスは置換のために提案されないことに注意してください。
PhpStorm が別ファイルにインターフェースを作成し、ソースクラスを新しいインターフェースの実装としてマークする場合は、 可能であればクラス参照をインターフェースに置き換える チェックボックスをオフにしてください。
新しいインターフェースが属する名前空間を指定します。 デフォルトでは、ソースクラスの名前空間が選択されています。
ターゲット宛先ディレクトリ リストで、新しいインターフェース用に作成された専用ファイルを保存するフォルダーを指定します。 デフォルトでは、このフィールドは読み取り専用で、 PSR0 規格(英語)に従ってインターフェースが属するネームスペースに対応するフォルダーを表示します。
インターフェースを持つクラスを別のフォルダーに保存するには、 F2 をクリックして、目的のフォルダーを指定します。
インターフェースを形成するメンバー 領域で、インターフェースに含めるメソッドを指定します。 この表には、現在のクラスで検出されたすべてのメソッドが表示されます。 メソッドを メンバーをクラスに移動する で指定されたインターフェースに移動するには、メソッドの横にあるチェックボックスをオンにします。
PhpDoc エリア では、PhpDoc コメントをどのように処理するかを指定します。 利用可能なオプションは次のとおりです:
そのまま: このオプションを選択すると、ソースクラス内のドキュメントをそのまま残します。
コピー: このオプションを選択すると、インラインドキュメントを現在の場所から削除せずに抽出したインターフェースにコピーできます。
移動: このオプションを選択すると、インラインドキュメントは抽出されたインターフェースに移動され、ソースクラス内の現在の場所から削除されます。
準備ができたら リファクタリング をクリックします。 PhpStorm が 検索 ツールウィンドウに リファクタリングプレビュー を表示した場合は、提案された変更内容を確認してください。 インターフェースを抽出して提案された変更を適用するには、 リファクタリング実行 をクリックします。