エンタープライズ:特集 | 2003/12/07 18:00:00 更新 |
全3回「WebプログラミングPHP言語入門」
特集:第1回 今から始めるWebプログラミング言語は「PHP」だ (3/3)
PHPの歴史と2004年初めに登場する最新版5.0
PHPのルーツであるPHP/FIは、元々はRasmus Lerdor氏が彼のWebサイトのアクセス解析を行うスクリプトとして開発したものだ。Perlの組み合わせであった。
その後、PHP/FIはC言語で書き直され、フォーム値を自動的に解析するなどの機能を搭載し、データベースとの連携機能を搭載した。それにより動的なウェブサイトを簡単に構築できるスクリプト言語として知られるようになり、ソースコードも公開された。1987年秋には、PHP/FI 2.0として登場した。この後、2人の若きプログラマと出会うことで、PHP/FI 2.0は大きな進化を遂げることになる。
PHP/FI 2.0を使ってEコマースの構築を行おうとしていたAndi GutmansとZeev Suraskiの両氏。彼らは、PHP/FI 2.0の機能では力不足であると判断し、後継となるソフトウェアの開発に着手した。その結果、PHP/FI 2.0の正式な後継バージョンとして、1998年6月にPHP 3.0が誕生した。
PHP 3.0を開発したAndiとZeevの両氏は、PHP 3.0の公開から間もなく、PHPのコア部分を書き直し始めた。スクリプトエンジンの大幅な見直しと、再コンパイルする事無く拡張モジュールの組み込みを可能にするなど、パフォーマンスの大幅な向上と柔軟な拡張性を実現するZend Engineが誕生したわけだ(「Zend」という名前の由来は、開発者であるZeevとAndiの名前からきている)。このエンジンは1999年に紹介され、2000年にこれを搭載したPHP 4.0が公開されている。
この原稿を執筆している時点でのPHPの最新バージョンは4.3.4だが、Zend Engineの更なる改良で進化を遂げたPHP 5.0が2004年初頭に公開される予定だ。その最新版PHP 5についても少し触れてみよう。
満を持して登場するPHP 5
PHP 3からPHP 4へと大きく進化したように、PHP 5は大きな進化を遂げて間もなく登場しようとしている。大きく変わったのは、次の3つである。ここからは機能性になるため、PHP初心者には苦しいかもしれない。その場合には、何となく新しいものが搭載されるのだな、とだけ捉えておけばよいだろう。もちろん、PHP 4 との高い互換性を約束されているので、学んだ知識と作成したスクリプトは無駄にならないので安心してほしい。次回第2回目からは、実践的なプログラミング手法に入っていく。
1. オブジェクト指向プログラミングのサポートを強化
2. 例外(try〜throw〜catch)のサポート
3. SQLite(ビルトインDBMS)のサポート
4. XMLのサポート強化
PHP 4では、クラスのプロパティやメソッドのアクセス権限がすべて「public」だったが、PHP 5では「private」や「protected」の2つのアクセス権限が追加された。また、「abstract」、「interface」、「implements」をサポートしたことにより、クラス継承に関する明確なルールを定義できるようになった。
JavaやC++では当たり前のように使える例外処理(try〜throw〜catch)だが、これもPHP 5でサポートされた。特定のブロック内で何らかの例外(エラーなど)が発生(throw)したことを検出(catch)するのだ。検出した例外の種別に応じて処理を記述することが可能となるため、エラー処理などで重宝するだろう。
組み込み型DBMSであるSQLiteをビルトインした点も非常に興味深い。PHPでDBMSを使う場合、PHPのビルド時に指定する必要があり、DBMSも各自で用意する必要がある。しかし、PHP 5ではSQLiteをビルトインしているため、小規模なシステムやテストプログラム程度であれば、別途インストール不要なSQLiteで十分に事足りてしまうだろう。
PHP 4でもXMLを扱うことが可能であったが、PHP 5ではわずか数行のスクリプトでXMLデータからXMLオブジェクトを生成することが可能となった。これにより、XML形式でインポートとエクスポートを行うDBMSとの同期や、XMLでデータ交換を行う独自APIの実装なども、比較的簡単に行えるようになる。
PHP 5は、2004年の比較的早い時期にリリースが予定されている。もし、PHP 5に興味を持たれたのであれば、Changes in PHP 5 / Zend Engine 2.0を参照してほしい。ここでは書き切れなかったさまざまな情報が公開されている。なお、この原稿を執筆している時点で、PHP 5 Beta 2がリリースされている。待ちきれない人は、公式サイトからBeta版を入手し、ひと足先にPHP 5を体験してみるのもよいかもしれない。
今回は、PHPというスクリプト言語の紹介を中心に解説した。この記事を読んで、PHPというスクリプト言語に興味を持ってもらえば幸いである。次回は、PHPスクリプトの記述方法について解説していく。
関連記事リモートデバッグを実現するPHP開発ソフトZend Studio 2.6
PHP言語コア開発者スラスキー氏、新版5.0の進捗とJavaとの相乗を語る
ゼンド、PHPをSun Java System Web Server上で実行可能にするコンポーネントを提供開始
関連リンク
PHP米国公式サイト
日本PHPユーザー会
Linux チャンネル
[照井進吾,ITmedia]