概要
- laravel-ide-helperというライブラリを使ってみたので使った時のメモと導入方法を残す。
できるようになること
-
モデルクラスのコード補完とタイプチェックができるようになる。
-
下記のようなコードが
TestController.php
に記載されていた時、$user_id = $user->id;
の->id
部分にマウスカーソルを持っていってもコード補完されない。app/Http/Controller/TestController.php<?php namespace App\Http\Controllers; use App\Models\User; class TestController extends Controller { public function Test() { $user = new User(); $user_id = $user->id; } }
-
このライブラリを入れて「直接Modelクラスの関数にPHPDocを記載」 or 「ヘルパーファイルを出力」することでコードの保管ができる様になる。
導入方法
-
下記コマンドを実行して開発環境にのみ当該のライブラリをインストールする。
$ composer require --dev barryvdh/laravel-ide-helper
-
config/app.php
のprovidersの配列の「Package Service Providers...」のコメントの直下に下記の内容を記載する。config/app.php'providers' => [ /* * Package Service Providers... */ Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
-
app/Providers/AppServiceProvider.php
のregister関数に下記のような修正を入れる。app/Providers/App/ServiceProvider.php/** * Register any application services. * * @return void */ public function register() { if ($this->app->isLocal()) { $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class); } }
使ってみる
Modelクラスの関数にPHPDocを自動記載
-
下記コマンドを実行することで「直接Modelクラスの関数にPHPDocを記載」 or 「ヘルパーファイルを出力」することでコードの保管ができる様になる。(個々にモデルクラスを指定して下記コマンドを実行する事もできる。)
-
直接Modelクラスの関数にPHPDocを記載
$ php artisan ide-helper:models --write # もしくは $ php artisan ide-helper:models -W
-
ヘルパーファイルを出力
$ php artisan ide-helper:models --nowrite # もしくは $ php artisan ide-helper:models -N
-
-
ちなみに 上記のコマンド群はどちらもコード補完用のコードの自動生成を行うモデルクラスを指定する事が可能である。指定方法はホワイトリスト方式、ブラックリスト方式どちらでも実施する事ができる。
-
何も指定しない時
-
app/Model
ディレクトリのすべてのクラスがスキャンの対象になる。
-
-
ホワイトリスト方式(「このファイルにだけスキャンをかけてください」と指定する。)
-
下記の様に指定する(Userクラスだけスキャンしてほしい時 ※ヘルパーファイル出力の際も
--nowrite
オプションのあとにモデルクラスを指定する。)$ php artisan ide-helper:models -W "App\Models\User" # もしくは $ php artisan ide-helper:models -W --dir "app/Models/User.php"
-
-
ブラックリスト方式(「このファイル以外にスキャンをかけてください」と指定する。)
-
下記の様に指定する(Userクラス以外をスキャンしてほしい時 ※ヘルパーファイル出力の際も
--nowrite
オプションのあとにモデルクラスを指定する。)$ php artisan ide-helper:models -W --ignore="App\Models\User"
-
-
IDE用コード補完ヘルパーファイルの出力
-
下記コマンドを実行することで_ide_helper.phpが作成され、これをご使用中のIDEに読ませる事によりコードの保管ができるようになる。
$ php artisan ide-helper:generate
PhpStome用コード補完ヘルパーファイルの出力
-
下記コマンドを実行することで.phpstorm.meta.phpが作成され、これをPhpStomeに読ませる事によりコードの保管ができるようになる。
$ php artisan ide-helper:meta