
第1回 理論編:PHPについて知ろう
スクリプトを記述するだけの簡単なプログラミングで、Web対応の高速なデータベースアプリケーションを実現する手法としてPHPが急速に注目を集めている。しかもデータベースはオープンソースのPostgreSQLだけでなく、Oracleなどの商用データベースも扱える。ここでは、5月にバージョンアップしたばかりのPHP4によるWeb-DBシステム構築法を紹介しよう
一志達也<ichishi@pochi.tis.co.jp>
株式会社東洋情報システム
2000/6/6
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プログラミング言語に比べて豊富なメリットを兼ね備えています。
| Index | |
| PHP4で作るWeb-DBシステム | |
| PHPでWeb-DBシステムを作る PHPとはなにか CGIとはどう違う? |
|
| プログラミングの実際 プログラムリストを見てみよう 仕組みはどうなっているのかl 次回はセットアップ |
|
| 連載 PHPで作るWeb-DBシステム |
| Linux Squareフォーラム プログラミング関連記事 |
| 特集:オブジェクト指向に生まれ変わるPHP5[前編] 現在開発中のPHP5は、オブジェクト指向機能が大幅に強化される。次世代PHPはどのような言語になるのか? |
|
| 特集:Windows開発者に贈る
Kylixの全貌 注目の開発環境「Borland Kylix」がいよいよ見えてきた。ここに、英語版の発売を目前に控えたKylixの機能やアーキテクチャを紹介しよう |
|
| 特集:Kylixプログラミング作法 GUIの構築やコンポーネントとコードの関係、 Object Pascalの仕様など。 これらの点を、実際に日本語ベータ版でプログラミングしながら分かりやすく解説 |
|
| 連載:PHP4で作るWeb-DBシステム(全5回) PHPはWebサーバとデータベースを結びつけるものだ。そのためPHPでの開発を開始するには、OS、データベース、Webサーバ、そしてPHPと、多くのソフトウェアのインストールを行う必要がある |
|
| 連載:ステップ・バイ・ステップ・シェルスクリプト(全7回) Linuxの中でシェルスクリプトはネットワークの設定、デーモンの起動など重要な役割を果たしている。この連載では、シェルスクリプトで実用的なプログラムを組むことを目標にして、シェルの基本的な知識を説明する |
|
| 連載:Kylix
3とDB2で作るWebサービス・アプリ(全5回) Kylix 3とDB2 V8.1を使って、Webサービス・アプリを作ってみよう。トライアル版も用意されているので、実際に試しながら読んでほしい |
|
|
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
