今回は,PHPに関する最新ニュースとしてPHP 5.1関連の話題を紹介し,その他の話題としてDB_Objectを利用したO/Rマッピングによるデータベース処理自動化の話題などを紹介する。

PHPの開発状況

 PHP5の安定版にPHP 5.0.4のバグ修正作業と平行して,開発版にあたるPHP 5.1関連の作業が進められている。PHP 5.1における主な変更点は,以下の3点である。

1.ZendエンジンVM(仮想マシン)の改良

 PHPスクリプトを実行するスクリプト・エンジンに実装された仮想マシンの高速化により,アプリケーションの実行速度が改善されている。文字列処理などその他の処理も高速化されており,PHP5.0と比べてPHP5.1では,アルゴリズム系のベンチマーク・テストにおいて最大2倍程度高速化されることが示されている(PHPウォッチ第12回 PHPでWindowsのGUIアプリを作る「WinBinder」参照)。

2.PDO (PHP Data Objects)標準サポート

 データベースアクセス用の標準APIとして新たにPECLで開発中のPDOが,PHP5.1から標準サポートされることとなった。関連して2005年1月時点でα版であったPDOの開発も急ピッチで行われており,2月9日にβ版としてバージョン0.2がリリースされている。PHP 5.1へのソースコードマージも既に行われており,PHP5の最新の開発版ソースコードをhttp://snaps.php.net/から入手することで,テストを行うことができる。

3.XMLReader標準サポート

 同じくPECLで開発・公開されているXMLデータ処理用エクステンションXMLReaderもPHP 5.1で標準サポートされることとなった。XMLReaderは,片方向ストリーム処理を行うXMLデータAPIであり,libxml2の機能を使用して実装されている。既存のSAXと比べてXMLReaderを用いることで,より可読性の高いコードを書くことができる。XMLReaderはJavaや.NETにおいても広く使用されており,今後,SAXに代わって広く使用されていくと予想される。

 XMLReaderのソースコードも既にPHP 5.1にマージされており,最新の開発版スナップショットを入手することでテストを行うことができる。

4.その他

 その他,日付処理の関数追加や入力データのチェックを行うフィルタなども追加されることが予定されている。入力データ用フィルタは,Rasmus氏(PHPの原作者)によりPECLにおいてfilterエクステンションとして開発が進められており,クロスサイト・スクリプティングの防止などセキュリティ確保のためにユーザーの入力にフィルタを適用することができる。

 PHP 5.1のβ版リリースは,3月初めに行われるとのことであったが,本稿執筆時点でまだ行われておらず,若干先延ばしとなっている。