2流システムエンジニア DEEPのぼやき場

2流システムエンジニア DEEPのぼやき場

ブログの説明を入力します。

Amebaでブログを始めよう!

以前の記事で掲示板アプリを作成しましたが、これはサクラエディタで作業を行いました。

実際、開発作業を行う場合、インテリセンスが無いと不便すぎるので、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のソースもデバッグ可能になった。