TOPシステム開発> Zend Engineとは
Zend Engine
PHPの根幹Zend Engine

第1回:意外と知らないZend Engine

著者:ゼンド・ジャパン  佐藤 栄一   2007/5/18
1   2  3  次のページ
Zend Engineとは

   「Webシステムを支えている言語は何か」と聞かれたときに何と答えますか。

   ThinkITを読んでいる方なら即座に「PHP」と答えていただけるでしょう。「Java」と答える方もいるかもしれません。しかし、インターネットの普及と共にPHPは多くのWebサイトで使用されるようになり、今ではWeb 2.0と呼ばれるような新しいスタイルのWebサイトのほとんどがPHPで構築されています。

   ここまで普及しているPHPですが、実際にPHPを使用してWebシステムを開発されている方でもその根幹となっているZend Engineについて、ご存知ない方も多いでしょう。Zend Engineとは、簡単にいえばPHPの高速性を支えている重要なモジュールですが、それ以外の機能も備えています。

   そこで本連載では、全2回に渡って意外と知られていないZend Engineにフォーカスを当て、Zend Engineの存在と役割を学んでいきましょう。

PHPの歴史(ZendとPHP)

   まずは、PHPの歴史から振り返っていきましょう。

   PHPの原型は、1995年にRasmus Lerdorf氏によって作成されました。氏は、自分の経歴をインターネットに公開していたのですが、そのページに対するアクセスを解析するためにPHPの原型である「Personal Home Page Tools」というツールを作成しました。この時点では、Perlスクリプトの単純な組み合わせによるものでした。

   その後、Rasmus Lerdorf氏は、「Personal Home Page Tools」にデータベースへの接続機能を追加し、Webアプリケーションを作成できるような汎用性を持たせ、C言語で書き直しました。名称もPHP/FI(Personal Home Page/Forms Interpreter)に変更し、オープンソース化(インターネット上にソースコードを公開)しました。

   PHP/FI 2.0は、利用者が増えるともに機能不足と制限の多さが指摘され、イスラエル工科大学のプロジェクトとして根本的に改良することになりました。このプロジェクトにZendの創業者であるZeev SuraskiとAndi Gutmansが参加していました。

   このプロジェクトでは、PHP/FI 2.0の言語仕様を根本から見直して、矛盾のないものとしました。また、言語仕様そのものに拡張性を持たせ、データベースのアクセスや新機能をAPIとして実装可能にしました。この時点でオブジェクト指向のコーディングも可能となっています。名称もPHP(PHP:Hypertext Preprocessor)3.0と変更し、1998年6月に公開しました。

   PHP 3.0は、多くのユーザに支持され、採用するサイトが増えはじめました。しかし、速度の点で不満と拡張APIの独立性を高めるためにAndi GutmansとZeev Suraskiは、PHPの核となる部分をフルスクラッチで改良を行いました。これが「Zend Engine」誕生の瞬間です

   ちなみに「Zend」は、Zeevの「Ze」とAndiの「nd」を組み合わせたものです。日本の禅(ぜん)という言葉もフューチャーしています。

   Zend Engineは、1999年に発表され、他の新機能と共にPHP 4.0として2000年5月にリリースされました。新機能には、2バイトコードの対応も含まれており、正式に日本語対応が行われました。

Zend Engineロゴ
図1:Zend Engineロゴ

   ちなみに1999年にAndi GutmansとZeev Suraskiは、Zend Technologies Ltdを設立し、Zend Engineをコミュニティに無償で提供しています。ここでは、Zend Engineと連係してPHPを拡張する様々な製品の提供を行っています。

   そして、オブジェクト指向の実装強化をはじめとした新機能を搭載したPHP 5.0が2004年7月に公開されました。PHP 5.0には、「Zend Engine Ⅱ」が搭載され、高速性をはじめとした根幹を支えています。

Javaによる開発環境の変化
図2:Javaによる開発環境の変化
http://www.php.net/credits.php
(画像をクリックすると別ウィンドウに拡大図を表示します)

   Andi GutmansとZeev Suraskiは、現在もPHPコミュニティの中心メンバーとして活躍しており、PHP開発メンバーのクレジットに多くの記述を見つけることができます。

PHPを採用しているサイト数 出展元:NetCraft(Zend Technologiesが作成)
図3:PHPを採用しているサイト数
出展元:NetCraft(Zend Technologiesが作成)
(画像をクリックすると別ウィンドウに拡大図を表示します)

   現時点(2007年5月)で、インターネット上には2,001万6,421ドメインがPHPを採用しています。PHPを利用したWebサイトの増加数をグラフ化すると、図3のように1999年を転機に大きく増加しているのがわかります。これは、とりもなおさずZend Engineの発表と符合しており、Zend EngineがPHPの人気を支えていることがわかるでしょう。

1   2  3  次のページ


ゼンド・ジャパン株式会社 佐藤 栄一
著者プロフィール
ゼンド・ジャパン株式会社  取締役   佐藤 栄一
ZendプロダクトおよびMySQLプロダクトを担当。ゼンド・ジャパン株式会社は、PHPのコア技術者が設立したイスラエルZend Technologiesと提携関係にあり、Zendプロダクトの国内総代理店です。ZendプロダクトをベースとしたXAMPによるシステム構築を推進しています。


INDEX
第1回:意外と知らないZend Engine
Zend Engineとは
  Zend Engineの実装を確認
  Zend Engineの仕組み