以前の記事で掲示板アプリを作成しましたが、これはサクラエディタで作業を行いました。
実際、開発作業を行う場合、インテリセンスが無いと不便すぎるので、IDEを導入すべきです。
XAMPPをインストールするのに、pleiades-2020-12-ultimateを使用したので、EclipseをIDEとして使用したいと思います。
つきましては、Eclipseでデバッグを実行できるように設定します。
なお、開発環境は下記の通り。
Windows10 Pro
XAMPP 7.4.11
PHP 7.4.11
Laravel Framework 6.20.4
Git 2.29.2.2
今回の参考サイトは下記です。感謝。
※ 今回、「C:\Tools\pleiades」がEclipseやXAMPPのフォルダのルートフォルダになっています。
ご自身の環境に読み替えて下さい。
PHPの環境設定
環境変数Pathにphpへのパスを追加する。
※ 私の環境の場合は下記。
C:\Tools\pleiades\xampp\php
設定後、コマンドプロンプトで下記のコマンドを実行し、PHPのバージョンが表示されればO.K.
※ 環境変数設定後、PCの再起動になる場合もあるかも?(昔のWindowsだとありました)
php -v
Eclipseの初期設定
Eclipseを起動する。
※ 重要 ※
ワークスペースのフォルダは\xampp\htdocsを必ず指定する。
ウィンドウ→パースペクティブ→パースペクティブを開く→その他を選択する。
PHPを選択して、開くをクリック。
ウィンドウ→設定を選択する。
左側のツリーで一般→Webブラウザーを選択し、Chromeを選択して、適用ボタンを押下する。
左側のツリーでPHP→インストール済みのPHPを選択し、追加ボタンを押下する。
実行可能ファイル・パスの参照ボタンから\xampp\php\php.exeを選択し、次へボタンを押下する。
デバッガーでXdebugを選択し、ポートを9000にして、完了ボタンを押下します。
左側のツリーでPHP→サーバーを選択し、新規ボタンを押下する。
サーバー名を入力して、次へボタンを押下する。
デバッガーでXdebugを選択し、ポートを9000にして、完了ボタンを押下します。
左側のツリーでPHP→デバッグを選択し、最初の行でブレークのチェックを外し、適用ボタンを押下する。
左側のツリーでPHP→デバッグ→デバッガーを選択し、Xdebugを選択し、構成ボタンを押下する。
リモート・セッション受信でプロントを選択し、OKボタンを押下する。
適用して閉じるボタンを押下する。
php.iniの設定
\xampp\php\php.iniに下記を追記する。
[XDebug]
;php_xdebug.dllのパスはxamppをインストールしたフォルダによって変えてください
zend_extension = "C:\Tools\pleiades\xampp\php\ext\php_xdebug.dll"
xdebug.remote_connect_back = 0
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_mode = "req"
xdebug.remote_port = 9000
xdebug.remote_autostart = 1
;xamppをインストールしたフォルダによって変えてください
xdebug.trace_output_dir = "C:\Tools\pleiades\xampp\tmp"
動作確認
デバッグ実行し、ブレークポイントを置けることを確認します。
ファイル→新規→PHPプロジェクトを選択する。
適当なプロジェクト名を入植して、完了ボタンを押下する。
プロジェクト・エクスプローラーでプロジェクトを右クリックし、新規→PHPファイルを選択する。
ファイル名をindex.phpとし、完了ボタンを押下する。
作成したindex.phpに下記を記載する。
<?php
phpinfo();
?>
phpinfo();の行にブレークポイントを配置する。
右クリックメニューのデバッグ→PHP Webアプリケーションを押下する。
ブレークポイントがちゃんと有効になってる。
処理を進めるとChrome上にPHP Version情報が表示される。
これで、PHPのデバッグの設定は完了しました。
EclipseでLaravel開発環境を構築する
デバッグ実行ができるようになったので、Laravelのインテリセンスなどが有効になるように設定します。
EclipseのワークスペースフォルダにcomposerでLaravelプロジェクトを作成する。
※ 「C:\Tools\pleiades\xampp\htdocs」はEclipseのワークスペースフォルダ、「lalavel-eclipse-test」はLaravelプロジェクトのプロジェクト名。
cd C:\Tools\pleiades\xampp\htdocs
composer create-project --prefer-dist laravel/laravel lalavel-eclipse-test "6.*"
Laravelプロジェクトをeclipseに取り込む。
ファイル→インポートを選択する。
PHP→既存のComposerプロジェクトを選択し、次へボタンを押下する。
ソース・パスの参照ボタンから先ほど作成したLaravelプロジェクトのフォルダを選択し、完了ボタンを押下する。
プロジェクト・エクスプローラーにインポートしたLaravelプロジェクトが追加されていることを確認する。
続いて、デバッグ用のControllerとViewを作成する。
まずはControllerの作成を行う。
コマンドラインで下記を実行する。
cd C:\Tools\pleiades\xampp\htdocs\lalavel-eclipse-test
php artisan make:controller TestController --resource
xdebugの設定をしているとeclipseが実行していいですかというプロンプトを出すのでOKを押下する。
eclipse上でプロジェクトを右クリック→リフレッシュを押下する。
/app/Http/Controllers/TestController.phpが現れます
/app/Http/Controllers/TestController.phpのindexメソッドを下記に修正
public function index()
{
$data = ['key' => "value"];
return view('test.index', $data);
}
return view('test.index', $data)とすることで/resources/views/test/index.blade.phpが実行される。
第二引数でindex.blade.phpに値を渡している。
/routes/web.phpに下記を追記する。
Route::get('test/index', 'TestController@index');
これでtest/indexというURLにGETリクエストが来た時にTestControllerクラスのindexメソッドが実行されるようになる。
viewの作成を行う。
/resources/views/testフォルダを作成する。
/resources/views/test/index.blade.phpファイル作成する。
index.blade.phpの内容を下記のように編集する。
<html>
<head>
<title>test</title>
</head>
<body>
{{$key}}
</body>
</html>
下記のURLにアクセスし、動作確認を行う。
http://localhost/lalavel-eclipse-test/public/test/index
ブラウザにvalueと表示されればOK
続いて、デバッグを行う。
TesyControllerのindexメソッド内の行番号をダブルクリックしブレークポイントを付ける
index.blade.phpを右クリック→デバック→PHP Web アプリケーションをクリック
起動URLに
http://localhost/lalavel-eclipse-test/public/test/index
を入力してOKボタンをクリック
これでLaravelのソースもデバッグ可能になった。