

visual studioのような、cakephp3 でおすすめのデバッグツールがあれば教えて下さい。  
例えばブレークポイントを設定して、そのときに格納されている変数の中身を簡単にみたいです。（JavaScript側、php側で）  
Atomを使ってますが、そのような機能も使えるのでしょうか。  
今は、phpはdebug.logに出力、JavaScriptはconsole.log出力にて確認している状況です。


CC BY-SA 3.0
2017-12-31T17:17:00.327
40645
2020-09-05T07:38:36.793
2018-01-01T14:35:23.170
26840
26840
question
php cakephp
cakephp3 デバッグツール


CakePHP は PHP なので、Xdebug の利用が可能です。

Atom、VSCode、PhpStorm といったメジャーどころのエディタでは、Xdebugに対応しています。

適切に設定すると、Webサーバから開発マシンへ通信が行われ、典型的なブレークポイント・ステップ実行・再続行・変数の閲覧と改ざんが可能になります。

なお、CakePHP 3.4.x
系の一部のバージョンで特定の処理を行った場合、Ajaxなどで頻繁にサーバーにリクエストを発行するプロジェクトでは、うまくデバッグできない場合がありますので、ご注意ください。

  1. 仮想マシンを立てて環境構築  
例えばVirtualBox上のブリッジ接続で構築したCentOSのLAMPなど

  2. 仮想マシンにxdebug拡張と、対応するphp.iniを設定する  
例：php7.0、remi経由

[code]     $ yum -y install --enablerepo=remi-php70 php-devel php-pecl-xdebug

    
[/code]

例：php.dフォルダを参照している場合。直接php.iniに記述してもOK

[code]     $ sudo vi /etc/php.d/15-xdebug.ini

    
[/code]

[code]     [xdebug]

    xdebug.default_enable = 1
    xdebug.idekey = "vscode"
    xdebug.remote_enable = 1
    xdebug.remote_port=9000
    xdebug.remote_autostart = 1
    xdebug.remote_host=<開発マシン(ホストマシン)のIP>
    
[/code]

  3. Apache再起動
[code]     $ sudo systemctl restart httpd.service

    
[/code]

  4. エディタ側の設定を適切し、エディタのデバッグ開始（xdebug通信を待ち受ける）

例：Visual Studio codeの場合

launch.json

[code]     {

        "version": "0.2.0",
        "configurations": [
            {
                "name": "Listen for XDebug",
                "type": "php",
                "request": "launch",
                "port": 9000,
                "serverSourceRoot": "/var/www/html/<AppRoot>",
                "localSourceRoot": "${workspaceRoot}"
            }
        ]
    }
    
[/code]


CC BY-SA 4.0
2018-01-16T01:02:58.333
40979
2020-09-05T07:38:36.793
2020-09-05T07:38:36.793
3060
25396
40645
answer