Laravel on Eclipse

LaravelはPHPのフレームワークのひとつで、2016年現在、もっとも注目度が高いフレームワーク(参考)。

Laravel(というか、昨今のトレンドとして)は、コマンドラインで環境構築やライブラリの導入を行うことを前提としているが

今回はCLIに不慣れな開発者が、GUIで一通りの作業がこなせるようにEclipseのプラグインを駆使して開発環境を構築する方法をまとめた。

プラグインの挙動が怪しい & やはりCLIで使えるようになった方が最終的には楽ということで、コマンドラインでの操作も含むこととする。

なお、Windowsでの環境構築を前提とする。

XAMPPのインストール

WindowsにはデフォルトでPHPが入っていないので、XAMPPをインストールする。

こちらよりXAMPPのWindows版をダウンロードし、インストールする。

本番サーバの都合上、PHP5.6が入っているバージョンを使うことを推奨する。

今回はC:\xamppにインストールする前提とする。

PHPの環境設定

内部的にphpコマンドが発行されるため、パスが通っていないと色々失敗する。

こちらを参考に、環境変数のPathにC:\xampp\phpを追加する。

コマンドプロンプトを開いてphp -vでPHPのパスが通っていることを確認しておくこと。

Eclipseのインストール

今回はEclipse 4.6 Neonを使うこととする。

こちらよりEclipse for PHP DevelopersのWindows版をダウンロードし、zipを解凍する。

XAMPPと違って、32bitと64bitがあるので注意。開発マシンは基本64bit機なので、64bitを選択すること。

今回はC:\xampp\eclipseへ解凍する前提とする。

なお、日本語化すると色々面倒なので、基本英語バージョンで頑張ること。

Eclipseの初期設定

色々初期設定をしないと、Laravelプロジェクトの生成に失敗する。何事も事前準備が肝要。

PHPの実体ファイル参照先指定

EclipseにPHPがどこにインストールされているかを教えてあげる。

  1. Eclipse上部メニューよりWindow > PreferencesでPreferencesウインドウを開く
  1. Preferencesウインドウの左側メニューよりPHP > PHP Executablesを選択
  1. 右側のAdd...ボタンを押してNew PHP Excutableウインドウを開く
  1. New PHP Excutableウインドウの「Executable path:」の右側のBrowse...ボタンを押してファイル選択ダイアログを開く
  2. 選択ダイアログでC:\xampp\php\php.exeを指定する
  3. New PHP Excutableウインドウの各入力フォームがすべて埋まっていることを確認
    1. Name: PHP 5.6.xx(CLI) ※xxはXAMPPでインストールしたPHPのバージョンが入る
  1. Next >ボタンを押してDebbger Settingsに遷移する
  2. Finishボタンで登録、New PHP Excutableウインドウが閉じる
  3. PrefencesウインドウでOKボタンを押して設定完了、ウインドウが閉じる

Composer Pluginを導入

ComposerとはPHPでライブラリ間の依存関係を解決するツール。

JavaでいえばMavenやGradle、Node.jsでいうところのnpmと同じ役割。

従来PHPでは、PEARなどで外部ライブラリを管理することが多かったが、OS上に展開されるため、追加にroot権限が必要だったり、複数システムを同一OS上に稼働しているとバージョン競合が起きるなどしていた。

現在、アプリ配下で完結するような依存管理ツールが主流となっており、Composerもそれに沿ったツールとなっている。

本来、ComposerはCLIを想定しているが、PDT Extensions GroupがEclipseのプラグインとして稼働するものを実装しているのでそれを使う。

  1. Eclipse上部メニューよりHelp > Install New Software...でInstallウインドウを開く
  1. Installウインドウ右側のAdd...ボタンを押してAdd Repositoryウインドウを開く
  1. Add Repositoryウインドウに以下の情報を設定しOKボタンで登録、ウインドウが閉じる
    1. Name: PDT Extensions
    2. Location: http://p2.pdt-extensions.org/
  1. InstallウインドウWork with: で 3. で登録したPDT Extensions - http://p2-dev.pdt-extensions.org/を選択
  2. 最初は初期化処理に時間がかかるのでしばらく待つと、真ん中くらいにインストール可能なPluginの一覧が表示されるので以下のPluginを選択
    1. PHP Development Tools
    2. Toolchains内のComposer
  1. Next >ボタンを押してInstall Detailsに遷移
  2. Next >ボタンを押してReview Licensesに遷移
  3. I accept the terms of the license agreementsをチェックし、Finishボタンを押してインストール開始
  4. 途中、Security Warningダイアログが出るのでOKボタンを押す
  1. 途中、Software Updatesダイアログが出るのでYesボタンを押してEclipseを再起動する
  1. Composerがインストールされる

Laravelプロジェクトの新規追加

Eclipse上でLaravelプロジェクトを新規追加する方法

  1. Eclipse上部メニューよりFile > New > Other...でNewウインドウを開く
  1. NewウインドウでComposer Project from existing packageを選択してNext >ボタンを押してNew composer Project from existing packageウインドウに遷移
  1. Project Name:を任意の名前で定義してNext >ボタンを押してSelect packageに遷移
  2. Find: にlaravelを入力、一覧に出てきたライブラリリストの中からlaravel/laravel (The Laravel Framework.)のダウンロードボタン(○に↓+ダウンロード数)を押すと右側にバージョンを選択するリストボックスが現れるのでv5.3.16を選択し、Finishボタンを押すと構築が始まる

Eclipse上からコマンド実行環境構築(任意)

Eclipse上でコマンド実行できた方が、別ウインドウでコマンドプロンプトを開くよりも便利なケースがあるのでその設定をしておく。

  1. Eclipse上部メニューよりRun > External Tools > External Tools Configrations...を選択してExternal Tools Configurationsウインドウを開く
  2. External Tools ConfigurationsウインドウでNewアイコンを押す
  3. 右側に以下の情報を入力する
    1. Name: Cmd
    2. Location: C:\Windows\System32\cmd.exe
    3. Working Directory: ${project_loc}
  4. 右下の`Apply`ボタンを押す
  5. 最下部のRunボタンを押す
  6. メイン画面の下側にConsoleタブが開いて、コマンドプロンプトが表示されればOK

Eclipseで入力補完が聞くように設定

せっかくEclipseを使っているので、クラス名やメソッド名を入力補完したいので以下の設定を行う。

  1. コマンドプロンプトを開いてプロジェクトディレクトリに移動する(上記Eclipse上からコマンド実行環境構築していれば、Consoleタブ上で入力する)
  2. 以下のコマンドでlaravel-ide-helperをインストール
    1. > composer require barryvdh/laravel-ide-helper --dev
  3. プロジェクトのconfigディレクトリにあるapp.phpファイルをエディタで開く
  4. app.php内にのprovidersに以下を追加
    1. 'providers' => [ ・・・ Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, ],
  5. 以下のコマンドを実行する
    1. >php artisan ide-helper:generate
  6. プロジェクト内に_ide_helper.phpファイルが生成される