PhpStorm 2024.1 ヘルプ

Rector

PhpStorm は、デフォルトで IDE にバンドルされ有効になっている Rector プラグインに基づく PHP コードのアップグレードとリファクタリング機能をサポートします。

Rector (英語) は、自動リファクタリングとアプリケーションの新しいフレームワークまたは PHP バージョンへのアップグレードのためのコード変換ルールを提供します。PhpStorm を使用すると、プロジェクトツールウィンドウから直接、選択したフォルダーまたはファイルに対して Rector ルールを実行し、差分ビューアーでソースコードと変更されたコードを比較し、適用する変更を選択できます。

始める前に

Rector には PHP バージョン 7.2 以降が必要で、プロジェクトに設定されたローカルまたはリモート PHP インタープリターを使用します。ローカル PHP インタープリターを構成するおよびリモート PHP インタープリターの構成に従って、PHP インタープリターが PHP ページ上の PhpStorm で構成されていることを確認してください。

Docker Compose ベースのリモートインタープリターの場合、追加のコンテナーが生成されないように、必ず docker-compose exec モードを使用してください。

Rector をインストールして構成する

Rector を Composer と一緒にインストールする

  1. composer.json 内で、rector/rector 依存関係レコードを require キーまたは require-dev キーに追加します。パッケージ名とバージョンのコード補完を取得するには、Ctrl+Space を押します。

    "require-dev": { "rector/rector": "^0.15.13" },
  2. 以下のいずれか 1 つを実行します:

    • エディターパネルの上部にあるインストールショートカットリンクをクリックします。

    • インストールされていない Composer パッケージインスペクションが有効になっている場合、PhpStorm は、現在インストールされていない宣言済みの依存関係をハイライトします。Alt+Enter を押して、特定の依存関係をインストールするか、すべての依存関係を一度にインストールするかを選択します。

Rector のインストールの詳細については、Rector のドキュメント(英語)を参照してください。

Rector 構成ファイルの追加と編集

  1. 次のいずれかの方法で、rector.php テンプレートファイルをプロジェクトルートに追加します。

    • プロジェクトツールウィンドウでルートフォルダーを右クリックし、コンテキストメニューから新規 | rector.php ファイルを選択します。

      PhpStorm は、レクター初期化アクションを呼び出します。これにより、コマンドラインから実行される Rector の vendor/bin/rector init コマンドと同じ方法で rector.php ファイルが作成されます。

    • 検索ウィンドウ (Ctrl+Shift+A) から rector init アクションを検索して適用します。

      Search and apply rector init action
    • ターミナルツールウィンドウから rector init コマンドを実行します。

      vendor/bin/rector init
  2. 生成された rector.php ファイルを編集して、必要なレクター規則または規則セット(英語)を指定します。Ctrl+Space を押して、コード補完の提案を取得します。

    Code completion for Rector rulesets

Rector 構成を実行する

Rector は、フォルダー、ファイル、選択した複数のフォルダーまたはファイル上で、rector.php 構成ファイル内から実行できます。PhpStorm はデフォルトの実行構成を作成し、Rector を実行し、変更を提案したファイルのリストを出力します。

PhpStorm の他の実行 / デバッグ構成と同様に、Rector の実行構成を永続的に保存共有テンプレートから作成フォルダーにグループ化、または後で使用するために保存することができます。

フォルダーまたはファイルに対して Rector を実行する

  • プロジェクトツールウィンドウで、Rector を実行するファイルまたはフォルダーを選択し、実行を選択します。| 選択のコンテキストメニューから <ファイルまたはフォルダー名> (Rector):

    Run Rector configuration

    PhpStorm はデフォルトの実行構成を生成し、構成で指定されたスコープで vendor/bin/rector process --dry-run コマンドを実行します。

rector.php から Rector を実行する

  1. エディターで rector.php を開きます。

  2. ガターで App run configurations test state run をクリックし、コンテキストメニューから実行 '<project name>' (Rector) を選択します。または、ファイル内の任意の場所から Ctrl+Shift+F10 を押します。

    Run rector from rector.php

    rector.php ファイルで $rectorConfig->paths が定義されている場合、Rector は指定された範囲のフォルダーで実行されます。それ以外の場合、実行構成パスはプロジェクトルートの src/ フォルダーに自動的に設定されます。

カスタム Rector 構成を作成する

カスタム実行構成を作成するか、既存のデフォルト構成を編集して、たとえば追加の引数を vendor/bin/rector process コマンドに渡すことができます。

  1. プロジェクトツールウィンドウで、ファイルまたはフォルダーを選択し、コンテキストメニューからさらに実行 / デバッグ | 実行構成の変更 | <ファイルまたはフォルダー名> (Rector) を選択します。

    あるいは、メインメニューで実行 | 実行構成の編集に移動し、Add icon をクリックしてリストから Rector を選択します。

  2. 開いた Rector の設定ダイアログで、必要に応じてフィールドを編集します。

変更を確認して適用する

PhpStorm は、Rector の実行結果 (提案された変更を含むファイルのリスト) を実行ツールウィンドウ変更タブに表示します。コンソールタブには同じ実行出力が含まれていますが、その出力は JSON 形式です。

Rector execution results
  1. 変更タブで、リストからファイルをクリックして開き、差分ビューアーで提案された変更をプレビューします。

    Rector diff viewer
  2. 変更を適用するには、実行ツールウィンドウで関連ファイルのチェックボックスを選択し、適用をクリックします。

関連ページ:

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

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

ファイルの差分ビューアー

この差分ビューアーは、2 つのファイルまたはファイルの 2 つのバージョン (ローカルの変更、またはローカルファイルとリモートリポジトリ内のそのリビジョン間の変更) を比較するときに表示されます。バイナリや .jar ファイルなど、あらゆる種類のファイルを比較できます。これを開くには、比較する 2 つのファイル、またはそのバージョンを比較するファイルを選択し、を押します。差分ビューアーが新しいタブで開きます。差分ビューアーは、コード補完、ライブテンプレート、その他の機能を有効にする強力なエディター...

ローカル PHP インタープリターを構成する

ローカル PHP インタープリターは、リモートホスト、Docker コンテナー、または Vagrant 仮想環境にインストールされるリモート PHP インタープリターとは対照的に、コンピューターにインストールされる PHP エンジンです。ローカル PHP インタープリターを構成するを押して設定を開き、を選択します。表示される PHP ページで、CLI インタープリターリストの横にあるをクリックします。表示される CLI インタープリターダイアログで、左側のペインのをクリックして、ポップアップメニュー...

リモート PHP インタープリターの構成

リモート PHP インタープリターという用語は、リモートホストまたは仮想環境にインストールされた PHP エンジンを指します。リモート PHP インタープリターという用語は、コンピューターにインストールされているローカル PHP インタープリターの対義語として使用されます (ローカル PHP インタープリターの構成を参照)。SSH、Docker、Docker Compose、Vagrant、WSL を介してリモート PHP インタープリターにアクセスできます。SSH を使用すると、PHP インター...

Composer 依存関係マネージャー

PhpStorm は Composer 依存関係マネージャーと統合されています。これにより、Packagist またはカスタムリポジトリからのパッケージをプロジェクトの依存関係として宣言し、IDE から管理できます。PhpStorm は以下を提供します。一般的な Composer コマンド (init、install、update、および多数の追加 Composer コマンド) を実行するための専用ユーザーインターフェース。コマンド出力は Composer ログコンソールに表示されます。PhpStorm...

実行 / デバッグ構成

PhpStorm は、実行 / デバッグ構成を使用して、コードを実行、デバッグ、テストします。各構成は、何を実行し、どのパラメーターと環境を使用するかを定義する、名前付きのスタートアッププロパティのセットです。実行 / デバッグ構成には 2 つのタイプがあります。一時的 — コンテキストメニューからを選択するたびに作成されます。コンテキストメニューを呼び出すには、オブジェクトまたは領域を右クリックします。永続的 — テンプレートから明示的に作成されるか、一時的な構成を保存することによって作成されま...