理論編:PHPについて知ろう:PHP4で作るWeb-DBシステム(1)(1/2 ページ)
スクリプトを記述するだけの簡単なプログラミングで、Web対応の高速なデータベースアプリケーションを実現する手法としてPHPが急速に注目を集めている。しかもデータベースはオープンソースのPostgreSQLだけでなく、Oracleなどの商用データベースも扱える。ここでは、5月にバージョンアップしたばかりのPHP4によるWeb-DBシステム構築法を紹介しよう。
PHPでWeb-DBシステムを作る
インターネット、特にWebを取り巻く環境は目まぐるしく変化し、今では純粋に静的なHTMLだけで構成されているWebサイトは少なくなっています。多くのWebサイトでは、CGIやSSI、CSS、DHTMLなどを用いて動的にHTMLを出力しているのです。そうしたなかで、簡単かつ高速を特徴とするスクリプト言語PHPは、日に日にその地位を確立してきています。
本連載ではPHPの開発環境として、PHPと同じくIT業界に定着しようとしているオペレーティングシステム、Linuxを使ってWeb-DBシステムの構築について紹介します。いまさら言うまでもありませんが、PHPもLinuxもフリーライセンスかつオープンソースのソフトウェアです。誰でもインターネット上からダウンロードして無償で利用することができますから、本稿を読みながら開発環境を整えて、実際に簡単なプログラムを書いてみることも可能です。時間とパワーとテストに使えるコンピュータがあるならば、ぜひ実際に試していただきたいと思います。
ところで、Web-DBシステムの構築には、OSや言語のほかにDBとhttpd(Webサーバ)が欠かせませんが、本連載ではそれらにPostgreSQLとApacheを用います。PostgreSQLとApacheもフリーライセンスかつオープンソースのソフトウェアです。それに加えて、商用RDBMSとしてLinux上でも高いシェアを獲得しようとしている、Oracleも交えて紹介していきます。
オラクルを除けば全く無料で構築できてしまうWeb-DBシステムとは、いったいどれほどのものなのか、みなさん自身で確かめていただければ幸いです。
PHPとはなにか?
PHPとは1994年の秋にRasmus Lerdorf氏によって作成され、1995年の始めに公開された、HTML内に記述するタイプのスクリプト言語です。登場当初は、ゲストブックやカウンタといったいくつかのユーティリティを実現する、簡単な命令が実行できるものでしかありませんでした。しかし、1995年の中頃にはFormInterpreterやMySQLのサポートを追加したPHP/FIと呼ばれるバージョン2が作成され、これをきっかけに急成長を始めたのです。
その後、多くの有志から改良されたコードの提供を受けて機能強化を続け、2000年5月10日には最新バージョンであるPHP4 RC2(Release Candidate 2)を公開するに至っています。そして、そのわずか2週間後の5月22日には、PHP4が正式にリリースされたのですから、最近のバージョンアップのスピードは商用の製品も顔負けです。さらに2000年5月19日に日本PHPユーザ会が発足し、日本でもPHPをもっと盛り上げようという動きも活発になっています。
それでは、ここでPHPについての理解を深めていただくために、その特徴を紹介したいと思います。
最新バージョンPHP4は、新スクリプトエンジンZend(www.zend.com)を搭載しました。最適化コンパイラにより、PHP3に比べて更なる高速化が図られていることが大きな特徴です。このZendは、旧バージョンであるPHP3.0に対して上位互換性を保つように設計されていますから、従来のPHPに精通している方ならばPHP4でも同じように開発することができます。
しかし、ほんのわずかですが非互換な部分がありますので、旧バージョンのソースを移行する場合はこちら(http://www.php.gr.jp/php/php4/incompatibilities.php3)を確認しておいてください。
CGIとPHPはどう違う?
PHPは通常のCGIとしても使用できますが、PHPモジュールをApacheサーバに組み込むことにより、Perl/CGIと比較して処理速度の高速化、サーバ負荷の低減を実現することができます(詳細は後述)。
こうした処理の高速化以外にも、PHPはPerl(CGI)やInternet Informasion Server(ASP:ActiveServerPages:補足1)に比べて、多くの優位点を持っています。それらの優位点や特徴については、簡単に紹介しておきます。
補足1:ActiveServerPages(ASP)は、マイクロソフトの提供するサーバサイド・スクリプト言語実行モジュールです。ASPをMicrosoftIISに組み込むことで、VisualBasicScript(VBS)で作成したスクリプトをサーバ側で実行することができます。ASP/IISは、WindowsNT環境で動的なWebページを作成する際に、広く用いられている組み合わせです。
- 多彩なデータバースをサポートし、その開発が抜群に容易である
Oracle/DB2/Informix/Sybase/SQLServer/ODBC/MySQL/PostgreSQLなどに対応
- マルチプラットフォームである
Linux/Windows/商用UNIXなど
- Apache(Webサーバ)との高い親和性
ApacheのモジュールとしてCGI(Perl)よりも遥かに高速に動作
- 各種ライブラリの充実
PDF/GIF生成・Session・XML・IMAP・LDAP・Javaなど
- 親しみやすい記述方法
C/Java/Perlのプログラマならば、すぐに導入可能
- ユーザー入力(Post/Get/Cookie)を自動的に変数に変換
プログラミングがさらに容易に
- デバッグが容易
実行時エラーが発生すると、エラー行と原因が表示される
- ユーザーによる機能拡張が可能
オープンソースなので、関数やクラスを独自に開発できる
以上のように多彩な特徴を持つPHPは、Perlよりも扱いやすく高速、ASPよりもオープンで安定性が高い、という具合に他のWebプログラミング言語に比べて豊富なメリットを兼ね備えています。
Copyright © ITmedia, Inc. All Rights Reserved.