この記事では、このツールセットの例を示します。
- Webサーバー-MAMP PRO
- XDebug v2.2.3。
- IDE PhpStorm 7.1
- 私のローカルサーバーには、オンラインストアのソリューションとともに1C-Bitrixバージョン14をインストールしました。
それでは始めましょう。
開発中、多くの場合、 print_r()やechoなどの関数を使用して画面にデータを表示する必要があります。 最近まで、私は個人的に次のような関数を使用していました。
function pre($array) { echo '<pre>'; print_r($array); echo "</pre>"; }
この関数は配列を画面に出力し、すでにこの形式で解析して編集コードに入力しました。 しかし、ページ上の巨大な$ arResult印刷が無効な場合はどうでしょうか? サイトにすでに訪問者がおり、システム情報を表示することが絶対に不可能な場合(リモートデバッグに役立つ記事 ) さらに、次のようなさらに興味深い関数:
function pre2($array) { global $USER; if($USER->isAdmin()) { echo '<pre>'; print_r($array); echo '</pre>'; } }
この機能は、サイト管理者のみに印刷を表示します。これにより、問題は部分的に解決されましたが、このようなソリューションの使いやすさには多くの要望が残されています。
XDebugとPhpStorm
これらの2つの製品は、上記の機能を放棄し、アプリケーションのデバッグ時に変数を表示し、IDEでデータを便利で読みやすい形式で直接受信する機会を提供します。
上記のスクリーンショットでは、 / index.phpファイルのデバッグウィンドウで$ APPLICATIONオブジェクトを確認できます。 グループ化された形式でオブジェクトに関する完全な情報を受け取りましたが、オブジェクトの各要素のデータ型を観察できます。 そして(注意!) var_dump()やprint_r()をどこにも書いたことはありません!
XDebugでデバッグするためにPhpStormを構成する
このようなチャームの使用を開始する前に、いくつかのアクションを実行する必要があります。
1.サーバーでXDebugを構成します
まず、 XDebugがサーバーにインストールされていることを確認する必要があります。 この記事では、サーバーにXDebugをインストールするプロセスについては検討しません。これについては、インターネット上に多くの記事があります。 XDebugをアクティブにするためにMAMPで何をする必要があるかを示します 。
すべてのアクションは、PHPバージョン5.5.3をビルドするためのphp.iniファイルで実行されました。 MAMPでこのファイルにアクセスする方法-以下のスクリーンショット
このファイルの行のコメントを解除します。
zend_extension=»/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so»
そして、行を追加します
xdebug.remote_enable=1
その後、 phpinfo()は次の情報を提供します。
XDebugの準備が整いました。
2. PhpStormを構成する
IDEのサイトからデータを受信するには、それらと友達を作る必要があります。 最初に、適切に構成されたサーバーが必要です。サーバーは、デプロイメント中にIDEに接続します。 PhpStorm-> Deploymentの設定に移動します。 ここでは、 Webserver Root URLパラメーターが重要です。サイトのルートのURLを指定する必要があります。 以下の私の設定の例:
次に、 PhpStormで XDebugを構成します :メインメニューの「 実行」->「構成の編集」
プラスをクリックして、デバッグ用の新しい設定を追加します。
PHP Webアプリケーション設定の選択
ここで、デバッグを実行するツールを構成する必要があります。サーバー設定の横にあるボタンをクリックします。
プラス記号をクリックして、サイトの名前とホストを入力し、[ リモート環境の検証 ]をクリックします 。
そこで、リストから上記で構成されたサーバーを選択し、「 検証」をクリックします
検証が成功すると、デバッグの準備が整います。 保存されたすべての設定を適用し、エディターに戻ります。
3.ブレークポイント
現在のコードの変数の値を見つけるために、必要な値を取得したいコードの場所をIDEに正確に伝える必要があります。 このために、ブレークポイント機能が提供されます。 PHPコードの目的の行を選択し、行番号の右側の領域をクリックします。
4.起動のデバッグ
次に、XDebugがスクリプトの実行時に応答を送信する9000ポートでのリッスンを有効にし、左側の緑のバグをクリックします(WindowsバージョンのPhpStormのボタンの場所は異なる場合があります)。
バグをクリックした後、ブラウザを開く必要があります
数秒後、PhpStormはデバッグパネルで再び開き、コード処理時のすべての変数の値、ブレークポイントの場所が表示されます