特集
2004/02/19 23:50:00 更新

全3回「WebプログラミングPHP言語入門」
特集:第3回 PHPを思うままに操れるようになる「MVC」と「Smarty」 (4/4)


理想的なデバッグ

 PHPに限らず、プログラマに要求される能力で大きな割合を占めるのがデバッグ能力である。自分が作成したプログラムだからこそ、バグレポートを見ただけで、およその原因を推測できる必要がある。しかし、その推測を証明するには、何らかの方法でプログラムの動作を追わなければならない。

 ログファイルに出力したり画面に表示することで、動作を追うケースを良く見かけるが、この方法には高いリスクが付きまとうのだ。

 スクリプトに手を加えるという行為は、埋め込んだデバッグコードを消し忘れるなどといった初歩的なミスから、最悪の場合は、今まで正常だったスクリプトに手を加えた結果、更なるバグを誘発する事も珍しくない。「自分はそんな程度の低いミスは犯さない」と断言する人もいるだろうが、絶対的な自信があるならそもそも原因不明のバグなど発生するはずがない。

 では、どういったデバッグが理想的なのだろうか。PHPには、デバッグを支援するツールが幾つか存在する。それらを活用することで、効率的且つ安全にデバッグ作業を行えるのだ。

ツールを使ったデバッグ

 ここでは、(手前味噌で非常に申し訳ないが)筆者が勤務するゼンド・オープンソースシステムズが提供しているPHP総合開発ツール「Zend Studio 3.0」を是非お奨めしたい。

fig2.gif

Zend Studio 3.0 のデバッグ画面

 Zend Studio 3.0は、VisualStudioやJBuilderなどと同じ、総合開発ツール(IDE)という分類に入るソフトだ。CVSに対応し、プロジェクトやファイルインスペクタなど、総合開発ツールには欠かせない機能を全て実装している。特筆すべき点は、高度なリモートデバッガと、便利な分析ツールにある。

 Zend Studioのリモートデバッグ機能は、上記の画面のように、現在実行中のスクリプトがローカル(Zend Studio)側に転送してくれる機能を搭載している。そのため、わざわざローカルにテスト環境を用意する必要もなく、サーバにしか存在しないスクリプトであってもデバッグを行える。この機能が有効なのは、自作のスクリプトだけではない。なんと、PEARやSmartyなどのライブラリもデバッグの対象となるのだ。

 筆者はごく最近、Zend Studioのデバッグ機能を使い、開発中のソフトで発生した不具合の原因がPEARとSmartyのそれぞれに存在するバグによるものだという事を突き止めることができた。この時、デバッグに費やした時間は、何とたったの10分である。もし、ツールを使わずにデバッグを行っていたとしたら、10分どころか、原因特定にまで辿り着けなかった可能性もあるのだ。

 Zend Studio 3.0は、教育機関及び学生を対象にしたアカデミックライセンスも用意されているので、これを機に購入を検討していただければ幸いである。

最後に

 筆者は現在、PHPを中心に扱うエンジニアを職業としているが、実は約6年前までは、スーパーファミコンやプレイステーションのゲームを開発するゲームプログラマであった。当時は、どれだけ面白いプログラミング技術やアイデアを持っていても、同じ業界で働く同志の間で共有する事など叶わぬ夢であった。

 そこで筆者は、筆者と志を同じにする同業者の友人と協力し、匿名で情報交換を行う為の草の根BBS(匿名性の高い掲示板で、現在の2ちゃんねるのようなもの)の運営を行った。プログラムソースの共有こそしなかったものの、目指していた最終形態は、まさに「オープンソース」そのものだったのかもしれない。

 現在は、面白いアイデアのアプリケーションやプログラミング言語、そしてOSまでもが、オープンソースなどの形態で手軽に入手可能である。更に、知りたい情報はインターネットで幅広く収集でき、場合によっては一度も会った事が無い人とアプリケーションを共同開発をする事さえも可能である。

 筆者の拙い記事を読んだ事でPHPに興味を持っていただけたら、この恵まれた環境を積極的に活用して、更に次のステップへと進んで頂きたい。プログラミングの面白さは、新しい知識や技術を自分で料理する時の高揚感と、それを自分の物にする事ができた時の達成感にあるのだから……。

 3回に渡って連載してきた本プログラミング入門も、今回を以って終了となる。もし、個人・法人を問わずPHPに興味を持たれたら、筆者が勤務するゼンド・オープンソースシステムズのWebサイトを是非訪れてほしい。何らかの形で弊社がPHPエンジニア育成の助けとなる事ができれば幸いである。

関連記事
▼特集:第2回 ショッピングカートの作成で分かる「PHP」の力
▼特集:第1回 今から始めるWebプログラミング言語は「PHP」だ
▼ゼンド、PHP統合開発環境の最新版を販売開始

関連リンク
▼PHP米国公式サイト
▼日本PHPユーザー会

前のページ | 1 2 3 4 |      

[照井進吾,ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.