連載
» 2000年06月06日 00時00分 UPDATE

PHP4で作るWeb-DBシステム(1):理論編:PHPについて知ろう (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プログラミング言語に比べて豊富なメリットを兼ね備えています。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。