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

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

この記事を読むのに必要な時間:およそ 1 分

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にとって非常に重要な年になりそうです。

著者プロフィール

大垣靖男(おおがきやすお)

University of Denver卒。同校にてコンピュータサイエンスとビジネスを学ぶ。株式会社シーエーシーを経て,エレクトロニック・サービス・イニシアチブ有限会社を設立。
オープンソース製品は比較的古くから利用し,Linuxは0.9xのころから利用している。オープンソースシステム開発への参加はエレクトロニック・サービス・イニシアチブ設立後から。PHPプロジェクトでは,PostgreSQLモジュールのメンテナンスを担当している。

URLhttp://blog.ohgaki.net/

著書

コメント

コメントの記入