0LINEで共有ボタンどうも鈴木です。メディプレブログが始まり、鈴木の第一弾の記事は、僕が紆余曲折を経てたどり着いたPHPの開発環境について書きたいと思います。皆さんはPHPの開発環境に何を使っていますか?テキストエディタ・IDE・ターミナルで直接編集等色々あるかと思いますが、ことPHPのデバッグに関して言えば、XAMPP+NetBeansの組み合わせは一つの有用な手法なのではないかと思っております。開発中に、「この関数を入ってこの変数を返して~」というのを確認したりするのはよくあることですが、PHP開発の場合どうしてもechoやvar_dumpで変数の値等を出力かログ保存することが多々あります。いちいち変数の中身を確認する為にデバッグコードを入れこんだりするのは面倒だしコードを汚すし、さらに後で必要に応じてコメントアウトや消したりするのは、新たなバグを作ったり工数を増やす要因にもなっているのではないかと思います。Windwosアプリ・iOSアプリ・Androidアプリの開発環境だと、それぞれVisualStudio・Xcode・AndroidStudio等の専属のIDEが用意されていて、標準でデバッグ環境まで用意されていますが、PHPの場合、これぞ標準!という開発環境はなく開発者が自由に選んでいるので、意外と本記事で説明するデバッグ手法を知らない人用に、順序立ててXAMPP+NetBeansを使ったデバッグ方法を記したいと思います。本記事ではTestProjectというWebアプリがあるとして、既存ソースをローカルサーバー(http://local.testproject.com)でデバッグ実行するという内容となります。1XAMPPとNetBeansのダウンロードまずは、この記事の本題でもあるソフトのXAMPPとNetBeansをダウンロードしましょう。アクセスした時にローカルサーバーをアクセスする為にはhostsファイルを書き換えます。hostsファイルはWindowsの場合、”C:\Windows\System32\drivers\etc\hosts”にあります。このファイルは通常管理者にしか編集できないファイルなので、プロパティを開いてセキュリティタブから「アクセス許可」を「フルコントロール」にしましょう。local.testproject.comというような書式で追加すると、ブラウザアクセスした時にローカルサーバーにアクセスするようになります。次にApacheのバーチャルホストを有効にしますxampp\apache\conf\extra\httpd-vhosts.confの編集します。local.testproject.comアクセス時に指定のパスをDocumentRootにするには以下のような記述にします。Panelを起動してApacheをStartしてみましょう。図のように正常にStartできればApacheが緑に変化します。アクセスしてDocumentRootにあるファイルが表示すればローカルサーバーの設定は成功です。3新規プロジェクトの作成NetBeansは全てプロジェクト単位で作業していきます。プロジェクトを作成します。「ファイル」-「新規プロジェクト」を押下して、「既存のソースを使用するPHPアプリケーション」を選択して「次へ」を押下します。ソース・フォルダで、プロジェクトのディレクトリのトップとなるところを指定しますそうすると、プロジェクト名もそのディレクトリ名が自動でセットされますが、変更することも出来ます。「□NetBeansのメタデータを別のディレクトリに配置」のチェックボックスをONにすると、NetBeans側で管理するプロジェクトの管理データを別のディレクトリに設置出来ます。警告が出てきますが、今まであまり問題になったことはないので、ソース・フォルダに管理データを含めたくない場合はチェックをONにします。http://local.testproject.com”を入力して終了を押下します。これでプロジェクト作成は完了です。ソースコードの編集が出来るようになります。4XAMPPの設定php.iniを開いて以下の内容を追記します。最低限これを書いておけば、ステップ実行出来ます。xdebugライブラリのパス。NetBeansのサイトに書いてあったので記述(なくても動く)xdebug.remote_handler=dbgp追記が完了したらXAMPPのapacheを再びStartします。5NetBeansの設定デバッグ実行を開始する前に、デバッグ実行を開始するブラウザを選択しましょう。Chromeで確認したい場合は、ツールバーメニューのブラウザ選択からChromeを選択します。6ブレークポイントの設定ブレークポイントを貼ってみます。ブレークポイントを貼りたい場所で行番号をクリックすると、赤四角のマークが表示されます。7デバッグ実行の開始Ctrl+F5でデバッグ実行を開始出来ます。ツールバーのボタンからでも実行出来ます。デバッグ実行が開始すると図のように現在の処理がブレークポイントを設定した行で止まります。変数パネルでこの時点での変数の中身を確認したり、呼び出しスタックパネルで呼び出し順番を確認したり、関数へのステップイン・ステップアウト等、現在の実行状況を色々な方法で見ることが出来ます。※最初の行に止まるのはNetBeansのオプションで初期設定がそうなっている為です。NetBeansのオプションダイアログを開いて以下の赤枠のところを外せば最初の行で止まらなくなります。8コマンドラインでのデバッグ実行も出来る!コマンドラインでのデバッグ実行も可能です。以下のように、NetBeansのオプションから、コマンドライン実行に使うPHPの実行ファイルを指定します。xamppでインストールしたphp.exeを指定すれば準備は完了です。プロジェクト・プロパティを開いて、新規を押下します。任意の名前を入力してOKボタンを押下します。実行方法にスクリプトを選択して、実行を開始したいphpファイルを選択します。あとは同様にデバッグ開始ボタンを押下すると、コマンドライン実行の時もデバッグ実行が可能です。NetBeansは、この他に気に入っている点として、コーディング中のコード補完オートフォーマットでコードを常にキレイに保てるPHPだけでなく、html/css/javascriptエディタとしても優秀git連携も強いプロジェクト検索からの瞬間移動などなど、便利な機能が盛りだくさんです。使いこなすと本当に強力なツールです。その辺りはまた別記事で紹介したいと思います。使ったことないPHP開発者は是非この機会に使ってみてはいかがでしょうか。5」を使って簡単な投稿フォームを作成する2017.03.29記事を書いた人スズキ好きなもの:GORIのハンバーグ、嫌いなもの:通勤なるべく多くの言語を習得したいエンジニアです。今年も「ビジネスコミュニケーション&プレゼンテーション研修」を行いました2020.02.18オフィスの一部をリニューアルしました。2020.02.04当社社員が広島ホームテレビ様のセミナーに登壇させていただきました(「テレビ局のデジタルメディア活用〜SNSの効果〜」)2020.01.31謹賀新年20202020.01.01当社社員Yが「お願い!ランキング」の新企画『動画アカデミー』に出演しました。2-10-1テレビ朝日若葉台メディアセンター2Fテレビ朝日メディアプレックスでは、高い制作力と技術力で新しいメディアの融合を実現し、新しい価値を創造します。独創的なコンテンツを通して常に時代の新しい旋風を起こし、デジタル時代にふさわしい「今までにない楽しさ」を提供します。株式会社テレビ朝日メディアプレックス。