特集
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© 2010 ITmedia, Inc. All Rights Reserved.




キャリアアップ



エンタープライズ・ピックアップ

news008.jpg クラウドがもたらす本当のメリット:日本のクラウド市場の現状とクラウドの価値へのフォーカス
クラウドに関する企業ユーザーの声は厳しい。それが何を意味するのかがいまだ分かりにくく、まして何を提供してどのような利便性が生まれるのかの説明がなされていないからである。クラウドがもたらす変化や体験を正しく伝え、理解されることが、本当のクラウドを企業へ推進することにつながるのである。

news008.jpg 点検 ストレスなきデジタル情報整理術:「残業ゼロ」に向けて社員の能力を引き出す方法――元トリンプ社長の吉越氏
業務の生産性向上や効率化などの課題を解決するには、ITの活用に加えて、社員が活力を維持できることも重要になる。ストレスのない働き方を実現していくためのポイントを、「残業ゼロの仕事術」で知られる元トリンプ・インターナショナル・ジャパン社長の吉越浩一郎氏に聞いた。

news040.jpg 戦略コンサルタントの視点:無料化するクラウド、潜む落とし穴
戦略コンサルティングファーム独ローランド・ベルガーに、情報システムの新たな姿について寄稿してもらう。4回目は、クラウドコンピューティングの落とし穴について解説する。

news013.jpg ITmedia リサーチインタラクティブ 第5回調査:Google Appsへの期待が鮮明に――変わる企業の情報共有基盤
電子メールやスケジュール管理などの機能を持つコミュニケーションツールの入れ替え時期が迫っている。10年前に導入した企業が約4割に上り、今後の導入においてはGoogle Appsへの期待が高まっている。ITmedia エンタープライズとITRが実施した読者調査から、企業の情報共有基盤に対するニーズの変化を明らかにする。

news011.jpg ドジっ娘リーダー奮闘記:年上の男の子
年功序列型の組織ではあまり存在しなかった立場と年齢の逆転が実力主義の現在では当たり前になり、若いリーダーが年上のメンバーとの関係に戸惑うことが多いようです。今日は年上のメンバーへの接し方を、しんこちゃん&春美ちゃんの新米リーダーペアとともに学びましょう。