2008年はPHPにとってPHP5リリース以来の大きな動きがある年になります。
- PHP4サポート終了
- PHP 5.3のリリース
- PHP6のリリース
PHP4のサポートは2007年末をもって終了しました。これにより2008年からはPHP4にはバグフィックスや機能追加は行われなくなります。サポートは終了しましたが、リモートから簡単に任意コードが実行できるような脆弱性などのセキュリティパッチは今年の8月8日まで提供される予定です。執筆時点では何時リリースされるか未定ですが、最後のPHP4リリースとなるPHP 4.4.8が開発中です。この記事が公開されるころには既にリリースされているかもしれません。
PHP5にも大きな動きがあります。今年リリースされるPHP5.3は、従来PHP6で追加される重要な機能の一つである名前空間をサポートします。use文で名前空間を柔軟に定義できるようになります。PHP 5.3の位置づけを簡単に書くと、
となります。ICU(Internatinal Component for Unicode)とは、ロケール等もサポートしている国際化ライブラリです。PHP5ユーザがスムーズにPHP6に移行できるよう、PHP5.3には例外的に言語仕様に関わる大きな変更が予定されています。PHP 5.3の仕様変更は非常に大きいので、現在リリースされているPHP 5.2はPHP 5.3がリリースされた後もしばらくメンテナンスが継続されます。しかし、PHP 5.2ユーザはPHP5.3に出来る限り早くアップグレードするほうがよいでしょう。アプリケーションをPHP5.3に対応させるとPHP6への移行も容易になります。
少なくともPHP6のリリース候補となるバージョンは今年リリースされると思われます。PHP6にはUnicodeサポートが追加されます。Unicodeサポートはphp.ini設定のunicode.semantecs設定で有効化され、内部の文字エンコーディングにUTF-16エンコーディングが利用されます。マルチバイト文字の1文字は1文字として処理されるようになります。
は3を返すようになります。strlenにバイナリ型データを渡した場合はバイト数、6を返します。文字列型をバイナリとして利用するには (binary) を利用して明示的にキャストします。
PHP6のUnicodeサポートはICUライブラリによって実装されています。ICUライブラリがサポートするエンコーディング変換、ロケール、コレーション等の機能もPHP6でサポートされ、国際化アプリケーションが容易に実装できるようになります。
2008年はPHPにとって非常に重要な年になりそうです。