Zend、PHP5をリリース、新たな資金援助を獲得

PHPの成長の見通しに対する市場の期待を反映して、イスラエルZend Technologies社は、600万ドルの新たなベンチャーキャピタル投入を達成した。

ベンチャーキャピタルIndex Venturesからの今回の投資と、これまでのWalden IsraelとSFK Technologiesからの投資を合わせると、2003年11月から6ヶ月足らずの間にZend社がベンチャーキャピタルから調達した資金の総額は、1200万ドルになる。 イスラエルのニュースサービスGlobes [online] の記事によると、Zend社は、今回の資金調達ラウンドを終了するまでには、実質的にさらに200万から300万ドルを獲得する可能性があるという。投資家たちの信頼に応えるかのように、同社からは、待望のPHP5 First Release Candidate(FRC)がダウンロード可能になった。

Zend社の共同創立者でCTOのZeev Suraski氏が、Open Enterprise Trendsに語ったところによれば(許可を得てITMJのこの記事に転載)、PHP5 FRCは、重要な3つの分野における改善によって、エンタープライズ開発にPHPを使用にする上でさらなる向上をもたらすものだという。この3分野とは、以下のとおり。

  • ネイティブSQLサポート
  • XML統合機能の強化
  • Javaとの(ひいては.NET資産との)連携を高める新しいオブジェクト指向テクノロジ

「私たちの観点からいえば、(PHP5の)広範な改善点によって、企業のより大規模で複雑なプロジェクトでもPHPソースコードが使用可能になります。」とSuraski氏はOETに語った。

動的SQLサポートの強化

フル機能の動的コンテンツアプリケーションをもっと簡単に作成する方法はないかと思っているPHP開発者は、MySQL、Oracle、その他のSQLデータエンジンをインストールしたり統合したりする面倒に、もう悩まされずに済む。この問題は、主に、PHPにSQLiteが含まれたことによって解消される。SQLiteは、”軽量”SQLサーバエンジンではなく、SQL構文や、トランザクションその他の多様なSQL機能を実装する、オープンソースのSQLライブラリである。

SQLiteは、SQLサーバ用の抽象レイヤではない。これは、SQLの非常にパワフルな軽量実装である。「中央データベースを必要としないアプリケーション、またはサーバクラスタで稼動するのではないアプリケーションには、SQL機能を持つ最小規模または中級規模のアプリケーションを使用でき、SQLサーバを先にインストールする必要はありません。」と、Suraski氏はOETに語った。

この改善は重大な意味を持つ。動的コンテンツアプリケーションやportletアプリケーションを対象とする企業開発者にとっては、特に大きな意味があるだろう。「動的コンテンツアプリケーションの開発には、通常、データベースコンテンツが必要でした。そして、多くの開発者にとっては、その分野に挑むことに、本質的な障壁がありました。Oracle、MySQL、その他のデータベースをインストールすることは、日常的なことではなかったからです。そうした障壁はもう取り除かれました。」と、Zend社の製品マーケティングディレクタ、Brad Young氏は語る。

PHP5にSQLiteを実装するという選択は、「小規模または中規模のアプリケーションのためによいことだと思います。データベースを使用するアプリケーションとそのデータベースが同じサーバに存在することになるからです。」と、Suraski氏は補足した。

具体的には、「SQLiteによって、ローカル(PHPプラットフォーム)にSQLレイヤを追加したので、セットアップ環境に関係なく、PHP5のどのサーバでもSQLをサポートできるようになりました。インポートしたデータをそのままサーバに置くことができます。」そして、PHP5サーバをリモートデータベースに直接結合する必要がなくなった、とSuraski氏は説明する。

SQLiteにより、Suraski氏が「往復PHP」と呼ぶ機能も使用できるようになった。この機能では、データベースに対する基本的なSQLクエリ/SQLコールに、PHPの関数を実際に埋め込むことができる。「SQLiteはPHP内に実装されるので、クライアントサーバアーキテクチャとは異なります。SQLiteはPHPの内部に組み込まれています。ですから、PHPの関数をSQLクエリ内から呼び出すことができる、というのも利点の1つです。SQLiteでクエリを選択して、SQL関数内でPHP関数をバインドでき、クエリ内からその関数を実際に呼び出すことで、あらゆる操作を簡単に行うことができます。」と、Suraski氏はOETに話した。

PHP5の、SQLite関連のその他の主な機能として、以下のものがある。

  • サブselect、ビュー、トランザクション、REPLACEのサポート
  • 完全なタイプレス
  • 非常に高速なパフォーマンス(MySQLと比べ概ね高速、PostgreSQLと比べ著しく高速)
  • 省メモリ消費
  • 大規模データベース操作の容易性

より緊密で容易なXMLサポート

このPHP5アップグレードでは、PHP開発におけるネイティブXMLサポートが大きく向上する、とSuraski氏は話す。「今日、XMLの使用法としては、基本的にDOMが一般的です。PHPインタフェースは、今回、ずっと簡潔になりました。XMLは非常に簡潔なフォーマット言語ですが、これを使用するPHPアプリケーションを記述するには、複雑過ぎるものになってしまいました。そこで、PHP5では、これを本来あるべき単純なものにしました。」

具体的には、「XML(サポート)は、今回のPHPではネイティブデータ型のレベルになっています。これは、XMLパーサをPHPオブジェクトのように操作できるということです。」と、Suraski氏は話す。

PHP5の、XMLサポート関連のその他の主な機能として、以下のものがある。

  • 新しいZend Engine 2 Overloading APIの活用
  • PHPの動的性質の活用
  • XPath、スキーマ検証のサポート
  • 標準libxml2のラップ

PHPオブジェクト指向のサポート

企業内で、PHPの機能を包み隠すことを強力に推し進めたPHP開発者がいたので、結果として、PHPのオブジェクト指向機能が”徹底的に”推進された、とSuraski氏は話す。PHP5でオブジェクト指向サポートを次のレベルに進めるために、また、企業のオブジェクト指向言語とPHPがよりうまく連携するために、PHP5では、エンジンレイヤで”ハンドルベース”のオブジェクト指向モデルを実現した。

Zend社の新しいPHP5用オブジェクトモデルの詳細、およびコードサンプルについては、 Zend社のWebサイトのPHP5の項目を参照。

PHP5における、緊密なオブジェクト指向サポートおよびPHP外部との統合を実現する、エンジンアップグレードのその他の主な機能として、以下のものがある。

  • 静的クラスメンバ
  • 抽象メソッドおよびインタフェース
  • ユーザレベルの多重定義
  • __autoload()によるクラスの自動ロード
  • 参照に対するforeach()
  • 反復子
  • 多重定義APIの改善

PHP5のその他のリソース

php.netのリソースの案内として、Damien Seguy氏は、簡潔でわかりやすいリソース一覧(コード、コメントボード、ヒント、その他あらゆるリソースについて)を提供している。

Zend社のサイトには、PHPの将来についての便利なリンク集があり、スライドプレゼンテーション、概要、チュートリアルリソース、その他を紹介している。

Sourceforgeでは、各種のPHP5リソースとリスト/グループを提供している。Propelは、Apache Torqueベースの、PHP5用オブジェクトパーシスタンスとクエリのサービスだ。Propelは、データモデルを記述する単純なXMLスキーマから始めて、データベースのクエリと操作用に、RDBMS用SQL定義ファイル、およびPHPクラスを作成する。

PHP BuilderのWebサイトでは、Luis Argerich氏による“Introduction to PHP5”という強力な記事とコードサンプルが掲載されている。

PHP Patternsの立役者のHarry Fuecks氏も、SitepointにPHP5のレビューを書いている。これは、ベータ1でリリースされたコードに基づいたものだ。同氏は、PHP Patterns Webサイトの管理者でもある。PHP開発者はこのサイトで、役に立つPHP開発パターン、テンプレート、コード、ヒントを得ることができる。

Vance McCarthy──Open Enterprise Trends編集者。