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