PDT2.1でMoodleデバックしてみる

moodleでユーザ表示一覧等の項目を変えてみたりするにあたり、PDTでデバックできるかいろいろ試行錯誤しています。

環境

XAMMP上のMoodleを対象とします。
moodle自体はappacheのドキュメントルートにそのままインストールしました。
「C:\xampp\htdocs\moodle01」にインストールしています。
http://コンピュータ名/moodle01/ でアクセス可能な状態です。

プロジェクト作成

「新規」-「PHPプロジェクト」を選択します。

  • プロジェクト名を「moodle01」と入力。
  • 「外部ソースからプロジェクトを作成」でmoodleをインストールしたフォルダを指定します。今回は「C:\xampp\htdocs\moodle01」を指定。

デバッカ設定

以前書いた記事の場合はworkspaceに配置したファイルを参照するサーバ指定を行っていましたが、今回phpファイルの場所が違う為、設定を変える必要があります。

  • PHPエクスプローラー」上でプロジェクトを指定して左クリックで「プロパティー」を呼び出します。
  • PHPデバック」を選択。
  • 「プロジェクト固有の設定を可能にする」をチェックする。
  • PHPサーバー...」のリンクをクリックしてPHPサーバーの設定を呼び出す。
  • 「新規」で名前に「moodle」URLに「http://コンピュータ名」を入力
  • サーバーに先ほど設定した「moodle」を指定。候補が出ない場合は一度閉じてからもう一度指定し直す。

デバック

ブレイクポイントを置きたいソースを開き、ブレイクポイントを置いてから「デバック」-「PHP Webページ」を実行。
試したのはadmin/user.php等ページとして動くphpです。直接呼び出されないライブラリ等は確認していません。

最初admin/user.phpにブレイクポイントを置いてindex.phpで実行すれば該当のところまで行けば止まるかな?と思いましたが止まりませんでした。何かいろいろ間違えているかもしれないですが、やりたいことはこれでも十分できるのでこの状態で使ってみることにします。
ソースを読んでgrepしまくったりechoを入れまくるよりは効率は良いかと思います。