特集
2004/05/21 16:45 更新

UNIX USER 2004年6月号「実践! 最新PHP 5」より転載:
Part 1 待望のPHP 5リリース (1/2)

開発スピードを上げるなどで、利用が広がっているスクリプト言語PHP。PHP 5で新たに実装された機能と、改善された点について解説する。これまで、急速に人気を博し、普及してきたPHPの魅力を理解していただければと思う(全4回)。

UNIX USER 開発スピードを上げるなどで、利用が広がっているスクリプト言語PHP。そのPHPの最新版PHP 5が間もなくリリースされる。本特集では、オブジェクト指向への本格対応、SOAPの標準サポートなど、新たに実装された機能を解説するとともに、実際にスクリプトを動かし、具体的にその利点を見ていく。

 Part 1では、PHP 5が誕生するまでの軌跡をたどりながら、PHP 5で新たに実装された機能と、改善された点について解説する。これまで、急速に人気を博し、普及してきたPHPの魅力を理解していただければと思う。

INDEX Part1 待望のPHP 5リリース
1. PHPの生い立ち
2. PHP 4との相違点


PHPの生い立ち

 これまで、スクリプト言語の代名詞であったPerl。しかし、その地位を脅かす存在にまで成長・普及している言語が存在する。それが、本特集で取り上げるPHPである。個人サイトだけでなく、大規模な商用サイトにも普及し始めたPHPが、どのようにして誕生したのかを解説する(図1)。

zu1.jpg

図1 PHPの歴史(クリックで拡大します)

スクリプト言語の革命児〜PHP/FI

 1995年、Webサイト上に配置していたレジュメへのアクセス解析を行う目的で、Rasmus Lerdorfの手によって作られたPerlスクリプトの組み合わせが、PHPのルーツに当たるPHP/FI※である。Rasmusは、このスクリプト群に、PHPの名前の由来でもある「Personal Home Page Tools」という名前を付けた。

 Rasmusはその後、データベース操作などのWebアプリケーションの開発に必要な機能を実装するため、PHP/FIをC言語で書き直し、ソースコードを一般に公開することを選択した。このバージョンが、PHP/FI 2.0に当たる。

 当時、動的コンテンツを作成するには、Perlの習得が必須であった※。コンテンツのほんの一部だけを動的に変更しようにも、その条件はまったく変わらなかった。PHP/FIは、スクリプト言語でありながらも、C言語のような文法、フォームの自動解析、SSI※のようにHTMLに埋め込むスタイルなどの特徴を備えていた。これらが、動的コンテンツを開発したいと考えていた潜在的ユーザーの心をとらえたのも、自然なことといえるだろう。

 PHP/FI 2.0は、全世界で5万以上のドメインにインストールされたという報告がある。PHP/FI 2.0が、Webアプリケーション開発の敷居を高くしていたPerlの呪縛から解き放った功績を考えれば、至極当然の結果だといえよう。

PHP/FIから生まれ変わった〜PHP 3

 PHP/FI 2.0は、Webアプリケーション開発の敷居を低くすることに成功した。だが、理想的なスクリプト言語というには、柔軟に機能を拡張できない点や、データベースの選択肢が少ない点、そして、文法のあいまいさなど、まだまだ残されていた課題があった。

 これらの問題を解決したのが、Andi GutmansとZeev Suraskiの両氏である。彼らは、PHP/FI 2.0を使ってeコマース※を構築しようとしたが、いまのままでは力不足であると判断した。そして、両氏によってスクリプト言語の要の1つであるパーサー※が書き直された。

 新しいエンジンは、PHP/FI 2.0との互換性を極力維持しつつ、オブジェクト指向的な文法のサポートなど大きく生まれ変わり、PHP 3.0と名付けられた。1997年、PHP 3.0はPHP/FI2.0の後継バージョンとしてアナウンスされた。このとき、「PHP」の語源が、PHP/FIの由来である「Personal Home Page Tools」から、「PHP: Hypertext Preprocessor」という再帰的な頭字語に変更されている。

 PHP/FI 2.0では5万以上のドメインにインストールされたが、PHP 3.0ではその記録を塗り替えている。PHP 3.0は、全世界の10%のWebサーバーにインストールされたという報告がある。

Zend Engineの誕生〜PHP 4

 1998年冬。PHP 3.0の公式リリースから間もなく、PHP 3.0誕生のキーマンであったAndiとZeevの両氏は、PHPの核となるプロセッサ部分※を書き直し始めた。両氏は、PHP 3.0の仕様では、それまで以上の機能拡張やパフォーマンス改善が困難だと判断し、柔軟性のあるスクリプトエンジンが必要だと考えたからである。

 両氏によって開発されたスクリプトエンジンは、1999年半ばごろに紹介された。その後、このエンジンを搭載した新しいPHPであるPHP4.0が、2000年5月に発表された。

 スクリプトエンジンは、設計者であるZeevとAndiの名を取って、「Zend Engine」と名付けられた。この名前でピンときた人もいるかもしれないが、彼らは現在、PHPの開発支援アプリケーションの開発・販売を行うZend Technologies社(http://www.zend.com/)を設立し、精力的な活動を展開している。

 PHP 4.0は、Zend Engineの導入によって、大幅なパフォーマンスの改善が施されているほか、Webサーバーの選択肢が増えた点や、出力のバッファリングが柔軟になった点など、PHP3と比べると大幅にてこ入れされた。

 2004年4月15日時点で、PHP 4.3.6がリリースされている。PHP 4は、バージョン4.3.0で機能がFixされており、以降はバグフィックス版の提供が行われているのみである。

スクリプト言語の理想形へ〜PHP 5

 2004年。PHP 4の後継バージョンとして、ついにPHP 5がリリース予定である。

 2003年7月からベータ版が公開されており、2004年4月にRC2が公開されている。本誌が店頭に並ぶころにはリリースされているかもしれない。PHP 5では、さらなるオブジェクト指向プログラミングの実現に向けて、さまざまな機能が拡張・改善されている。


このページで出てきた専門用語
●PHP/FI
PHPの前身となったスクリプト言語で、現在もPHPの開発に携わっているRasmus Lerdorf氏が開発。Perlで書かれていた。PHP/FIという名前は、「Personal Home Page Construction Kit/Form Interpreter」の略称である。

●動的コンテンツを作成するには、Perlの習得が必須であった
現在ではPHP、Ruby、Pythonなど、数多くの選択肢が用意されているが、それ以前はPerlが主流であった。当時、無償で入手できるCGI用の言語がPerlであったことが主な理由と考えられる。

●SSI
「Server Side Include」の略。HTMLの一部に特定のコメント文などを記述しておくことで、サーバーから送信する際に動的に置換される仕組み。主な利用方法として、CGIの実行結果や日付などを挿入することができる。

●eコマース
インターネット網などを利用した商取引の形態を指す。オンラインショッピングサイトなどの一般消費者を対象としたものを「BtoC」(Business to Consumer)、企業間の取引を対象としたものを「BtoB」(Business to Business)と呼ぶ。

●パーサー
構文解析(テキストデータなどの内容を目的の用途に応じて変換するための分析)を行うプログラム。XMLなどのテキストデータにも必ずパーサーが存在する。

●プロセッサ部分
スクリプトエンジン。パーサーによって解釈されたデータを用いて、実際に処理を行うプログラム。Javaにたとえた場合、Java VMに相当(パーサーはJavaコンパイラに相当)する。


      | 1 2 | 次のページ

[照井進吾,UNIX USER]

Copyright(C) 2010 SOFTBANK Creative Inc. All Right Reserved.




キャリアアップ



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

news004.jpg 世界で勝つ 強い日本企業のつくり方:利用契約の検討――グローバルクラウドで失敗しないために(前編)
2010年以降、クラウドサービスの利用がさらに加速する。サービスを利用する企業はプロバイダーのデータセンターに預けた自社情報を保護するために、法的な要素を理解しておかなければならない。企業が注意を払うべき法的な検討事項を整理する。

news001.jpg IT投資の新方程式:「Twitter使ってます」――現役MS社員が“社員力”を語る(前編)
マイクロソフトが掲げるプロモーションメッセージ「社員にチカラを。ITで企業力を。(以下、BIEB)」からは、ITで社員の生産性を向上することが業績の拡大につながる、といったニュアンスを感じる。そこで気になるのが「じゃあ、マイクロソフトの社員自身はどうなのよ?」ということ。3人の現役MS社員により実態が明らかになる……?

news010.jpg 産業構造を変えるか:「住宅クラウド」の衝撃
住宅都市工学研究所が進める「住宅クラウド」は、クラウドが企業のIT領域にとどまらず、ビジネスのやり方自体を変える可能性を示している。

news010.jpg オルタナティブな生き方 栗原進さん:ネットでリアルを楽しくしたい
SE出身の企業広報マンでありながら、趣味は落語で憧れの人はインディ・ジョーンズとアナログ全開の栗原さんに、ブログを書く理由やネットからはじまるコミュニケーションについて伺った。

news001.jpg 最強最速アルゴリズマー養成講座:トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター
プログラミングにおける重要な概念である「探索」を最速でマスターするために、今回は少し応用となる探索手法などを紹介しながら、その実践力を育成します。問題をグラフとして表現し、効率よく探索する方法をぜひ日常に生かしてみましょう。