写真1●独自PEARチャネルのポータルサイトpearadise.net
写真1●独自PEARチャネルのポータルサイトpearadise.net
[画像のクリックで拡大表示]
写真2●HTML_AJAXサンプル実行時に発生するエラー
写真2●HTML_AJAXサンプル実行時に発生するエラー
[画像のクリックで拡大表示]
写真3●HTML_AJAX用サンプルの実行例
写真3●HTML_AJAX用サンプルの実行例
[画像のクリックで拡大表示]

 今回は,標準クラスライブラリPEARの最新版PEAR 1.4,標準的なPHP用フレームワークを作る新たなプロジェクトPHP Collaboration Project,PEAR初のAjax用パッケージHTML_AJAXについて紹介する。

PHP 5.1.0RC3公開

 PHPでは最新の開発版では新たな機能追加が行われ,それ以前のバージョンでは主にバグ修正が行われている。現時点で,PHPバージョン5の最新版としてPHP 5.1.0がリリースの最終段階にある。また,PHPの現行版としてはPHPバージョン5ではPHP 5.0.5,とPHPバージョン4ではPHP 4.4.0がそれぞれ最新版となっている。さらに前回紹介したようにUnicodeにネーティブ対応したPHPバージョン6の開発も始まっている。

 PHP 5.1.0については,8月16日にPHP 5.1.0RC1(リリース候補1版)されて以来,バグ修正などが行われきたが,いよいよリリース直前版に相当するPHP 5.1.0RC3が10月17日に公開された。なお,PHP 5.1.0RC2は,リリース直前に重大なバグが見つかったためにキャンセルされている。今後,バグ修正などのフィードバックを受けて最後のリリース候補版に相当するPHP 5.1.0RC4が10月31日までにリリースされた後,PHP 5.1.0の正式リリース版が1~2週間で公開される予定となっている。

 PHP 5.1.0RC3では,PHP 5.1.0RC1の公開以降に判明した約90件のバグ修正が行われている。また,バンドルされているSQLiteやPCREのバージョンが最新版となった他,oracle,pfproといったいくつかのエクステンションがPECLへと移動されている。

 PHP 5.1.0RC3のソースコードおよびWindows版のバイナリはリリースマスタであるIlia氏が管理するディレクトリ(URL下記)で公開されている。試用して不具合がないかどうかを確認してほしい。

http://downloads.php.net/ilia/

PHP 4.4.1RC1公開

 PHP バージョン4の最新版にあたるPHP 4.4.1のリリース候補版PHP 4.4.1RC1が10月7日に公開された。このバージョンでは,PHP 4.4.0以降に判明した約40件のバグが修正されている。 PHP 4.4.1RC1のソースコードはリリースマスタであるDerick氏が管理するディレクトリ(URL下記)で公開されている。

http://downloads.php.net/derick/

独自チャネルをサポートするPEAR 1.4公開

 PHP用標準クラスレポジトリPEARのコアクラスとパッケージマネージャを含むPEARパッケージの最新版であるバージョン1.4が9月18日についにリリースされた。その後,バグの修正が行われ,本稿執筆時点では,10月8日にリリースされたバージョン1.4.2が最新版となっている。

 PEARパッケージには,エラー処理などの基本的なクラスが含まれ,クラスライブラリPEARの多くのパッケージがPEARパッケージに依存している。PEARパッケージは,クラスレポジトリPEAR の中で最も重要度の高いパッケージと言えるだろう。PEAR 1.4.0の主な新機能には以下のようなものがある。

・チャネルのサポート
・依存パッケージの自動的解決
・ポストインストールスクリプトの機能強化
・アーカイブ(phar)のサポート

 PEAR 1.4.0のインストールは,Linuxの場合,以下のように行う。

# lynx -source http://go-pear.org | php

 lynxコマンドがない場合やWindowsの場合には,http://go-pear.org/ をアクセスした際に出力されるスクリプトを,go-pearの名前で保存し,以下のようにPHPインタプリタにより実行する。

# php go-pear

 PEARは,従来,PHP本体にバンドルされていたが,メンテナンス性を向上させるためにPHP本体へのバンドルは行われなくなり,各ユーザーが上記の手順でインストールするよう変更になっている。

 PEAR 1.4.0の最大のポイントは,チャネルのサポートであろう。クラスレポジトリPEARおよびエクステンションレポジトリPECLの各パッケージは,それぞれ標準チャネルであるpear.php.netおよびpecl.php.netを通じて配布されるようになる。

 独自のチャネルを定義することも可能で,PEAR互換パッケージを配布するWebサイトが専用のチャネルを作成することができるようになった。他のパッケージへの依存性はパッケージマネージャにより自動的に解決され,ユーザーはより容易にPEAR互換のパッケージをインストールできるようになる。これにより,PEAR互換の様々なパッケージが独自チャネルを通じて公開されるようになると思われる。

 既に,PEARチャネルのポータルサイトとしてpeardise.net (http://pearadise.net/写真1)が作成されており,サードパーティにより作成されている各チャネルで公開されているパッケージの種類や内容などを調べることができる。有用なパッケージを独自チャネルで公開する場合は,こうしたポータルサイトへの登録を検討してみると良いだろう。

PHP Collaboration Projectが開始される

 10月18日~21日にかけて米国で開催されたZend/PHP Conference & Expo 2005において,標準的なPHP用フレームワークを作る新たなプロジェクトPHP Collaboration Projectの開始がZend社によりアナウンスされた。同プロジェクトでは,以下の活動を行う予定となっている。

1.企業での使用に耐える品質を有するオープンソースの標準PHP用フレームワークとしてZend PHP Frameworkを提供する。
2.オープンソースの開発環境として人気のあるEclipse用プラグインを開発し,Eclipseベースの統合開発環境を提供する。

 本稿執筆時点では,プロジェクトの開始がアナウンスされたばかりであり,その経緯などに関するQ&Aが掲示されているだけであるが,IBMやOracleを初めとする有力企業も同プロジェクトに参加するとのことであり,注目されるプロジェクトである。

 Zend社は,統合開発環境として商用製品であるZend Studioを販売しており,新開発環境との関係が注目される。上記ページによると,従来のZend Studioのサポートは継続されるとのことであるが,今後は,より標準的な統合開発環境として定着しつつあるEclipseをベースとした環境に移行することになると思われる。

 PHP Collaboration Project の中核となるであろうフレームワークZend PHP Frameworkに関してもその内容は未定である。現在,PHPにはJavaのStrutsのような標準的なフレームワークは存在しないが,Mojaviなどの多くの有力なフレームワークが公開されている。

 新フレームワークの従来のフレームワークとの違いは,"extreme simplicity" (究極のシンプルさ)とのことである。これをどのように実現するか,多くの有力ベンダーが参加し,PHP用プラットフォームの標準となる可能性があることからも,今後の開発の方向が注目される。

 次に,PEAR初のAjax用パッケージHTML_AJAXを紹介する。