新春特別企画・2008年を展望する!

2008年のPHP ―PHP5.3、そしてPHP6へ

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の位置づけを簡単に書くと、

PHP6 - ICU機能 = 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文字として処理されるようになります。

strlen('日本語');

は3を返すようになります。strlenにバイナリ型データを渡した場合はバイト数、6を返します。文字列型をバイナリとして利用するには (binary) を利用して明示的にキャストします。

$binary = (binary)$unicode;

PHP6のUnicodeサポートはICUライブラリによって実装されています。ICUライブラリがサポートするエンコーディング変換、ロケール、コレーション等の機能もPHP6でサポートされ、国際化アプリケーションが容易に実装できるようになります。

2008年はPHPにとって非常に重要な年になりそうです。

おすすめ記事

記事・ニュース一覧