PHP
Eclipse
laravel
入力補完
laravel-ide-helper

Laravel 開発環境の構築 ( VirtualBox + Vagrant + Homestead + Composer + Eclipse ) 第3回

はじめに

第3回となる今回は, [ Laravel 5 IDE Helper Generator ] の導入方法を紹介します。

Eclipse や PHPStorm などの IDE を使用して開発を行う場合の強みは "入力補完" が使えることですが, これらの IDE は Laravel の Facades ( ファサード ) をデフォルトでは補完することができません。それどころか, Facades に "型を解決できません" などの警告が表示される始末です。これでは開発に集中することができません。

今回紹介する [ Laravel 5 IDE Helper Generator ] はこの問題を解消し, 入力補完を利用できるようにしてくれます。導入方法も簡単ですので, ぜひ導入してみてください。

前提条件

ここでは 第1回 (前編)第02章 で作成した [ TestProject ] に [ Laravel 5 IDE Helper Generator ] を導入します。

Eclipse で Laravel の入力補完が効くようにする

まずは仮想マシンを起動しましょう。ターミナル ( Git Bash ) で Vagrantfile があるディレクトリ ( 今回の場合は [ Homestead ] ) に移動してから下記のコマンドを実行します。

ターミナル
slangsoft@win7 MINGW64 ~
$ cd ~/LaravelProjects/Homestead/  <-- 入力 : Vagrantfile があるディレクトリに移動

slangsoft@win7 MINGW64 ~/LaravelProjects/Homestead (master)
$ vagrant up  <-- 入力 : 仮想マシンの起動

次に, 仮想マシンに SSH でログインし, [ Laravel 5 IDE Helper Generator ] を導入したいプロジェクト ( 今回の場合は [ TestProject ] ) に移動します。

RLogin
vagrant@homestead:~$ cd ~/code/TestProject  <-- 入力 : [ TestProject ] に移動

プロジェクトのディレクトリに移動したら, 以下のコマンドでインストールします。ここでは仮想環境上にインストールしていますが, VirtualBox の 共有フォルダー機能でローカルにも反映されます。

RLogin
vagrant@homestead:~/code/TestProject$ composer require barryvdh/laravel-ide-helper  <-- 入力

インストールが完了したら, config/app.php の providers 配列にサービスプロバイダを追加します。ここではローカルのファイルを変更していますが, VirtualBox の 共有フォルダー機能で仮想環境上の app.php にも反映されます。

修正対象ファイル
C:\Users\[ユーザー名]\LaravelProjects\TestProject\config\app.php
app.phpより抜粋
/*
|--------------------------------------------------------------------------
| Autoloaded Service Providers
|--------------------------------------------------------------------------
|
| The service providers listed here will be automatically loaded on the
| request to your application. Feel free to add your own services to
| this array to grant expanded functionality to your applications.
|
*/

'providers' => [

    /*
     * Laravel Framework Service Providers...
     */
    Illuminate\Auth\AuthServiceProvider::class,
    (中略)
    Illuminate\View\ViewServiceProvider::class,

    /*
     * Application Service Providers...
     */
    App\Providers\AppServiceProvider::class,
    App\Providers\AuthServiceProvider::class,
    App\Providers\EventServiceProvider::class,
    App\Providers\RouteServiceProvider::class,

    /*                                                          <-- 追加
     * Other Service Providers...                               <-- 追加
     */                                                         <-- 追加
    Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,  <-- 追加

],

最後に以下のコマンドでヘルパーファイルを生成します。

RLogin
vagrant@homestead:~/code/TestProject$ php artisan ide-helper:generate  <-- 入力

これだけで入力補完が利用できるようになります。

注意
すでに IDE で作業中のプロジェクトに追加インストールした場合, ヘルパーファイルが読み込まれずに機能しない場合があるようです。対象のプロジェクトを IDE 上から一旦削除し, 再度インポートしなおすことで正しく機能するようになります。

参考サイト紹介