PhpStorm 2019.2ヘルプ

Laravel

Laravel(英語)は無料のオープンソースPHP Webアプリケーションフレームワークです。これはいくつかのSymfony(英語)コンポーネント上に構築され、認証、ルーティング、セッション、キャッシングなどの一般的なタスクの実装をはるかに簡単にします。

Laravelのサポートは、Laravelプラグイン(英語)Laravel IDEヘルパー(英語)によって提供されます。

始める前に

Laravelを使い始める前に、Laravelプラグインがインストールされ有効になっていることを確認してください。

さらに、Composerがマシンにインストールされ、Composer依存マネージャーの説明に従って現在のプロジェクトで初期化されていることを確認してください。

初期設定を実行する

  1. Laravel IDEヘルパージェネレータ(英語)をComposerと一緒にインストールします。これを行うには、メインメニューからツール | Composer | 依存性の管理を開き、barryvdh / laravel-ide-helperパッケージをインストールします。詳細は特定のパッケージのインストールを参照ください。

  2. Laravel IDEヘルパーServiceProvider としてアプリケーションに追加します。 config/app.php ファイルで、providers 要素に Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class を追加します。

    return array( // ... 'providers' => array( // ... // Laravel IDE helper 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', ), // ... );

Laravel IDE Helperは、サービス、コントローラー、モデル、およびビューの変更または追加後に実行する必要があります。あるいは、たとえば composer.json が更新されたときに、このファイルを自動的に再生成するようにPhpStormにファイル監視を設定します。

LaravelジェネレータComposerパッケージ(英語)をインストールして、モデル、ビュー、コントローラーなどのさまざまなLaravelジェネレータを追加することもできます。

コーディング支援

Laravelプラグインは、さまざまなLaravelコンポーネント(コントローラー、経路、ビュー、構成、サービス、および変換)に対するコード補完およびナビゲーションを提供します。Laravel固有のライブテンプレートを使用してさまざまなLaravelエンティティを生成することもできます。

コード補完

エディターで、Ctrl+Space を押してコード補完を呼び出し、次のいずれかの操作を行います。

  • RedirectRoute ファサードのさまざまな機能を使用する場合のコントローラーの参照:

    Laravel controller completion
  • View ファサードを使用する場合は、Bladeテンプレート(またはビュー)を参照してください。

    Laravel view completion
  • Configuration ファサードを使用するときは、アプリケーションの設定で定義されているさまざまなキーを参照してください。

    Laravel configuration key completion
  • Lang を使用して Lang::get()を呼び出すときは、さまざまな翻訳キーを入力します。

    Laravel translation key completion

コードナビゲーション

アイテムの宣言に移動するには、キャレットをその使用方法に合わせて Ctrl+Bを押します。または、Ctrl+Click の使用箇所。

  • コントローラーの宣言に移動します。

    Navigate to Laravel controller declaration
  • Bladeテンプレート(またはビュー)宣言に移動します。

    Navigate to Blade template declaration
  • 構成エントリまたはサービスの宣言に移動します。

    Navigate to configuration entry or service declaration
  • 翻訳キーの宣言に移動します。

    Navigate to translation key declaration

ライブテンプレートによるコードの生成

PhpStormは多数のコード生成機能を提供します。PhpStorm Laravelライブテンプレート(英語)をダウンロードしてインストールした後は、Laravel固有のライブテンプレートセットを使って、標準のライブテンプレートセットを拡張できます。

  • Blade ディレクティブ

  • 入力スニペットとリクエストスニペット

  • Cookieスニペット

  • ルートスニペットと生成

  • テンプレートの表示、応答、リダイレクト

  • スキーマの構築 (列タイプを含む)

  • キャッシュ

  • フォームとセッションスニペット

  • さまざまなヘルパーを呼び出すスニペット

Bladeテンプレートのサポート

始める前に、Bladeのサポートプラグインがインストールされ有効になっていることを確認してください。プラグインはデフォルトで有効になっています。プラグインが無効になっている場合は、プラグインを管理する説明に従ってプラグインページで有効にします。

PhpStormはLaravel Bladeテンプレートエンジン(英語)からバージョン5.8まで完全にサポートしています。それはさまざまなBlade構文構成物、ならびにテンプレート内のHTML、JavaScriptおよびCSSコードを強調表示します。

構文の強調表示のほかに、PhpStormは他のいくつかのブレード固有の機能を提供します。

波括弧およびディレクティブ用のコード補完

PhpStormのエディターは、設定/環境設定ダイアログ(Ctrl+Alt+S)の言語 & フレームワーク | PHP | Bladeで定義できる標準BladeディレクティブとカスタムBladeディレクティブの両方に対してコード補完を提供します。

Laravel Blade directive completion

@for または @foreach ディレクティブを使用すると、コード補完による変数の導入がコンストラクトの本体内で使用可能になります。

Laravel Blade variable introduction completion

セクションのサポート

Bladeテンプレートでの作業中に、@section ディレクティブを使用してセクションを開くことができます。PhpStormは、プロジェクト内のすべての既知のセクションの名前にコード補完 Ctrl+Space を提供します。

Laravel Blade section completion

PhpStormは、@stop ディレクティブを使用して閉じられていないセクションを検出するコードインスペクションを提供します。

Laravel Blade closed section inspection

セクションの宣言に移動するには、キャレットをその使用方法に合わせて Ctrl+Bを押します。または、Ctrl+Click の使用箇所。

Laravelプラグインは、エディターガターにマーカーを追加して、親セクションに移動することもできます。

Navigate to the parent section via the gutter icon

コード補完と拡張とインクルード用のナビゲーション

Bladeテンプレートはしばしば小さな再利用可能なブロックのさまざまなインクルードで構成されていて、それらは順番に他のテンプレートです。また、テンプレートを拡張して追加のセクションにコンテンツを提供することもできます。PhpStormおよびLaravelプラグインは、@extends ディレクティブと @include ディレクティブの両方でテンプレート名の補完を提供します。補完候補には、テンプレートのディレクトリー名と完全なテンプレート名が含まれます。

Laravel Blade @extends directive completion

テンプレートの宣言に移動するには、キャレットをその使用方法に合わせて Ctrl+Bを押します。または、Ctrl+Click の使用箇所。

Bladeテンプレートのデバッグ

通常のPHPファイルと同じ方法でBladeテンプレートをデバッグできます。

Bladeデバッグを有効にする

  1. 設定/環境設定ダイアログ(Ctrl+Alt+S)で、言語 & フレームワーク | PHP | デバッグ | テンプレートに移動してBladeデバッグ領域を拡張します。

  2. キャッシュパスフィールドに、Blade コンパイル済みテンプレートキャッシュ(英語)フォルダーへのパスを指定します。パスを手動で入力するか、the Browse button をクリックして、表示されるダイアログで関連するフォルダーを選択します。

デバッグセッションを開始する

究極のデバッグガイドの説明に従ってデバッグセッションを開始します。最も簡単で推奨される方法はゼロコンフィギュレーションデバッグを使うことです。

  1. お使いのブラウザに適したブラウザ拡張を選択してインストールしてください。

  2. PhpStormツールバーで、the Start Listening for PHP Debug Connections button を切り替えて受信PHPデバッグ接続の待機を開始するか、メインメニューから実行 | PHP デバッグ接続のリッスンを開始を選択します。

  3. コードにブレークポイントを設定してください。

  4. ブラウザの拡張機能を使用して、ブラウザでデバッグセッションを開始します。

Bladeテンプレートを設定する

Bladeディレクティブを追加、修正、または削除する

PhpStormでは、BladeディレクティブはBladeページディレクティブタブで管理されています。このタブには、現在使用可能なすべてのBladeディレクティブが一覧表示されます。パラメーターを持つものについては、プレフィックスとサフィックスも表示されます。起動すると、リストには定義済みディレクティブのみが含まれています。これらのディレクティブを編集したり、カスタムディレクティブを作成したりできます。

  1. 設定/環境設定ダイアログ(Ctrl+Alt+S)で、言語 & フレームワーク | PHP | Bladeに進みます。

  2. 開いたBladeページで、ディレクティブタブに切り替えます。これには、現在利用可能なすべてのディレクティブのリストが表示されます。

    • 新しいディレクティブを定義するには、the Add button をクリックして名前フィールドにディレクティブの名前を指定します。

      新しいディレクティブにプレフィックスとサフィックスが必要な場合は、パラメーターありチェックボックスをオンにして、使用するプレフィックスとサフィックスをそれぞれ接頭辞フィールドと接尾辞フィールドに入力します: PhpStormは、自動的に括弧の開閉時に接頭辞と接尾辞を囲み、引用符を追加してコロン区切り文字 : を追加するため、パラメータは次のようになります: ("<プレフィックス>:<サフィックス>")

    • 既存のディレクティブを編集するには、リストからそれを選択して、下のフィールドの値を変更します。

      元の定義を復元するには、the Reset to defaults buttonをクリックします。

    • リストからディレクティブを削除するには、それを選択して the Remove buttonをクリックします。

Blade区切り文字を設定する

PhpStormはBladeテンプレートを認識し、指定した区切り文字に基づいてそれらのテンプレートにエラー強調表示とコード補完を提供します。

  1. 設定/環境設定ダイアログ(Ctrl+Alt+S)で、言語 & フレームワーク | PHP | Bladeに進みます。

  2. 開いたBladeページで、テキスト・タグに切り替えます。タブのフィールドには、生タグ(英語)コンテンツタグ(英語)エスケープタグの開始(英語)文字と終了文字が表示されます。

  3. フィールドには、Bladeテンプレート5.8(英語)に準拠したデフォルト値が入力されます。以前のバージョンを使用している場合は、関連するカスタム区切り文字を指定することができ、PhpStormは新しい規則に従ってコーディング支援を行います。

PhpStormのartisanコマンドラインツールを使用する

コマンドラインツールとしてartisanを設定する

  1. 設定/環境設定ダイアログ(Ctrl+Alt+S)で、ツール | コマンド・ライン・ツールのサポートに進みます。

  2. ツールバーの the Add button をクリックします。

  3. コマンド・ライン・ツールダイアログで、リストからSymfony コンソールに基づくツールを選択し、その可視性レベル(プロジェクトまたはグローバル)を指定します。

    the Command Line Tools dialog
  4. OKをクリックすると、ツール設定ダイアログが開きます。

    ツールエイリアスを指定し、artisan とPHP実行ファイルへのパスを指定します。

    the artisan command-line tool settings
  5. OKをクリックして変更を適用し、コマンド・ライン・ツールのサポートページに戻ります。必要に応じて、the Edit button をクリックしてツールのプロパティーを編集するか、または the Edit Source button をクリックしてコマンドセットをカスタマイズします。詳細はツールのカスタマイズを参照してください。

Artisanコマンドを実行する

メインメニューからツール | コマンドの実行を選択するか、Ctrl を2回押します。

開いたなんでも実行ウィンドウで、<a> <command> 形式でコマンドの呼び出しを入力します。

コマンドの実行結果は実行ツール・ウィンドウに表示されます。

コマンドを終了する

実行ツール・ウィンドウツールバーの the Stop button をクリックします。

Artisanコマンドのデバッグ

Laravelコマンドは、Commandを拡張するコントローラークラスで定義されます。コマンドをデバッグするには、コマンドが定義されているコントローラークラスファイルではなく、コマンド自体をデバッグすることが重要です。そうしないと、Laravelブートストラッププロセスがスキップされ、実行が失敗します。

  1. 選択したコマンドに対応するコントローラークラスで、ブレークポイントを設定するコード行でエディターのガターをクリックします。

    Set a breakpoint in a Laravel command
  2. 選択したコマンドで artisan ツールを実行する実行/デバッグ構成を作成します。メインメニューで実行 | 構成の編集を選択し、次に the Add button をクリックして、リストからPHP スクリプトを選択します。

    Run/Debug configuration: PHP script
  3. 実行/デバッグ構成: PHP スクリプトダイアログで、実行/デバッグ構成パラメーターを指定します。

    • ファイルフィールドに、artisan 実行可能ファイルへのパスを指定します。

    • 引数フィールドに、view:cacheなどの実際のコマンドとその引数を入力します。

    Run/Debug Configurations dialog for Laravel CLI command
  4. PhpStormツールバーで、作成された実行/デバッグ構成を選択し、the Debug buttonをクリックします。コマンドの実行は、指定されたブレークポイントで停止します。

最終更新日: 2019年9月23日

関連ページ:

プラグインを管理する

プラグインはPhpStormのコア機能を拡張します。バージョン管理システム、アプリケーションサーバー、その他のツールとの統合を提供、さまざまな言語およびフレームワークに対するコーディング支援サポートを追加する、ショートカットヒント、ライブプレビュー、ファイルウォッチャーなどを使用して、生産性をBoo...

Composer依存マネージャー

PhpStormはComposer依存マネージャーと統合されています。これにより、Packagistのパッケージをプロジェクトの依存関係として宣言し、IDEから管理することができます。PhpStormは、共通のComposerコマンド専用のユーザーインターフェースを提供します。Composerで新し...

ファイル監視

ファイル監視は組み込みのPhpStormツールで、IDEでファイルを変更または保存するときにコンパイラ、フォーマッタ、linterなどのコマンドラインツールを自動的に実行できます。ファイルウォッチャーには2つの専用コードインスペクションがあります。ファイル監視使用可能インスペクションは、あらかじめ定...

コードの生成

PhpStormは、一般的なコード構成要素と繰り返し要素を生成する複数の方法を提供し、生産性の向上に役立ちます。これらは、コンテキスト、さまざまなラッパー、および文字の自動ペアリングに基づいて異なる方法で適用される事前定義テンプレートまたはカスタムテンプレートのいずれかです。さらに、PhpStorm...

ゼロコンフィギュレーションデバッグ

ゼロコンフィギュレーションデバッグの場合、デバッグ構成を作成する必要はありません。代わりに、PHPアプリケーションの開始ページをブラウザで手動で開き、ブラウザからデバッグエンジンをアクティブにし、PhpStormは受信デバッガ接続を待機します。デバッグセッションの開始:デバッグを開始する前に、デバッ...

ブラウザのデバッグ拡張機能

デバッグを開始するには、まずサーバー上でデバッガ・エンジンをアクティブにする必要があります。これを行うには、特別なまたはパラメータを設定する必要があります。(詳細については、XdebugおよびZend デバッガーの公式ドキュメントを参照してください)。手動で行うこともできますが、ブラウザの拡張機能を...