LoginSignup
1
1

XDebug を使用した PHP プロジェクトのデバッグ

Posted at

XDebug は PHP 開発において不可欠なデバッグツールであり、ブレークポイントデバッグ、パフォーマンス解析、コードカバレッジなどの強力な機能を提供します。XDebug を使用すると、開発者はコードにブレークポイントを設定し、変数の値を検査し、関数呼び出しスタックをトレースし、パフォーマンスのボトルネックを分析することができ、PHP 開発の効率とコード品質を大幅に向上させることができます。

Image description

XDebug の紹介

XDebug は、デバッグと解析機能を提供するために設計された PHP 拡張モジュールです。開発者はコードにブレークポイントを設定し、コードをステップ実行し、変数の値やプログラムの状態を検査することができ、コードをより理解しやすく、デバッグしやすくします。

Xdebug の有効化とデバッグ環境の構築

ServBay には各 PHP バージョンに対して XDebug がプリインストールされています。

注: Xdebug モジュールの有効化と PHPStorm の設定方法については、「ServBay のビルトイン Xdebug モジュールの有効化方法」の記事をご参照ください。

ダウンロード: ServBay をダウンロード

具体的なデバッグ例

サンプルプロジェクトの構成

以下のようなディレクトリ構造を持つシンプルな PHP プロジェクトを想定します:

servbay_xdebug_app/
├── src/
   └── Calculator.php
└── index.php

Calculator.php ファイルの内容は次のとおりです:

<?php
namespace App;

class Calculator
{
    public function add($a, $b)
    {
        return $a + $b;
    }

    public function subtract($a, $b)
    {
        return $a - $b;
    }
}

index.php ファイルの内容は次のとおりです:

<?php
require 'vendor/autoload.php';

use App\Calculator;
$calculator = new Calculator();
$sum = $calculator->add(5, 3);
$difference = $calculator->subtract(5, 3);

echo "Sum: " . $sum . "\n";
echo "Difference: " . $difference . "\n";

ブレークポイントの設定

Calculator クラスの add メソッドをデバッグし、その実行方法を確認したいとします。PHPStorm で Calculator.php ファイルを開き、return $a + $b; の行にブレークポイントを設定します。

デバッグセッションの開始

PHPStorm で、トップツールバーの「PHP デバッグ接続のリスニングを開始」ボタン(小さなバグアイコン)をクリックします。
ブラウザで PHP アプリケーションにアクセスします(例: https://servbay-xdebug-app.test/index.php)。

デバッグプロセス

ブラウザが index.php にアクセスすると、XDebug は自動的に PHPStorm に接続し、設定したブレークポイントで実行を一時停止します。
PHPStorm では、Calculator.php ファイルの add メソッドの return $a + $b; 行でコードが一時停止しているのが表示されます。

変数の値の検査

PHPStorm のデバッグウィンドウで、現在実行中のコード行、呼び出しスタック、変数の値などが表示されます。
「Variables」パネルで、変数 $a と $b の値がそれぞれ 5 と 3 であることが確認できます。

ステップ実行

「Step Over」ボタン(または F8 キー)をクリックして、コードを一行ずつステップ実行します。
変数の値の変化を観察して、add メソッドが正しい結果を返すことを確認します。

実行の再開

「Resume Program」ボタン(または F9 キー)をクリックして、コードの実行を再開します。
プログラムは次のブレークポイントに到達するか、実行が終了するまで続行されます。

出力の確認

ブラウザで出力を確認し、以下のように表示されることを確認します:

Sum: 8
Difference: 2

結論

XDebug を使用すると、開発者は簡単にブレークポイントを設定し、変数の値を検査し、PHP コードをステップ実行することができ、コードをより理解しやすく、デバッグしやすくなります。実際の開発では、XDebug のブレークポイントデバッグ機能を使用することで、開発者は問題を迅速に特定して解決し、開発効率とコード品質を向上させることができます。上記の具体的なデバッグ例を通じて、PHP プロジェクトのデバッグにおける XDebug の強力な機能と利便性を実感することができます。


ServBay をご利用いただきありがとうございます。皆様のサポートが私たちにとって大きな励みです 💙。質問やサポートが必要な場合は、技術サポートチームにお気軽にお問い合わせください。ウェブ開発を楽しく素晴らしいものにしましょう! 🥳 最新情報を入手したい場合は、X(Twitter) や Facebook をフォローしてください。質問がある場合は、Discord に参加してスタッフにお尋ねください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1