![]() |
PHP: Hypertext Preprocessor |
PHPの次期メジャーバージョンはPHP6になるとみられてきたが、問題を打破するために開発ブランチを5.3ベースへ巻き戻すという対処が実施された。Rasmus Lerdorf氏がphp.internals: PHP 6においてPHP6 Unicodeの実装が失敗したことを伝えている。PHP6ではエンジン内部の処理がUTF-16に統一される計画になっていたものの、関係者からはこの方針は間違っているのではないかという指摘もあった。今回実装が行き詰まったことで、PHPはUnicodeに対して新しいアプローチをとることになる。
このあたりの事情がFuture of PHP 6 - Johannes Schluterにまとまっている。紹介されている内容をまとめると次のとおり。
| これまでの取り組み |
|---|
| PHP6で取り組む基本的な内容として、PHPエンジン内部におけるエンコーディングをすべてUTF-16で実施するという方針が決定した。これはPHP6で利用するICUライブラリがUTF-16にフォーカスしているため。結果、スクリプトやデータなどほかのエンコーディングでやってくるデータを一旦UTF-16に変換してから処理するための実装が進められた。しかし実際に取り組んでみるとCPU負荷が高い上にメモリも食うことが判明。しかもどのエンコーディングが使われているか判断する実装が難しく、さらに後方互換性も失われるという問題がでてきた。mbstringといった程度の対応でいいユーザにとって不利益が多すぎるうえ、開発者が開発版を使いたがらないという状況に陥った。 |
| 現状 |
|---|
| こうした閉塞状況を抜け出すため、これまでの開発ブランチを停止。新しくPHP 5.3ブランチ開発ブランチとし、そこにこれまで開発してきた機能をマージする方針へ変更。Unicodeに関する取り組みは白紙に戻す。5.2系をいつまでリリースするかはまだわからないが、ユーザには5.3系へのアップグレードを推奨する。 |
| 今後の展開 |
|---|
| Unicodeに関する方針はこれから議論する。文字列クラスを作成してそこでUnicodeの操作を処理するようにすることで、コアには影響を与えず、後方互換性も保持するアイディアもでているが、包括的な取り組みにするか限定的な取り組みにするかそうした点も含めて今後の議論で決定していく。次のメジャーバージョンがPHP 5.4になるのかPHP 6になるのか、またはPHP 7になるのかはまったく未定。 |
| PHP 5.3リリース - 2年8カ月ぶりのメジャーアップデート [2009/7/1] |
| PHP 5.3、最終バージョンへ - 名前空間、ラムダ関数、クロージャ、GOTO構文 [2009/3/26] |
| PHP 5.2最新版登場、早ければ来週にはPHP 5.3も [2009/6/22] |
| マイナビ、3月より書籍連動型のクリエイティブ・デザイン系セミナー開講 [12:00 2/10] |
| Linux Mint 12 KDE登場 [10:26 2/10] |
| Dell、重複排除により最大98%のデータ削減が可能なバックアップストレージを発売 [09:44 2/10] |
| 北大、「ポジトロン断層撮影法」による脳腫瘍の性質を診断する手法を開発 [09:40 2/10] |
| NICTなど、手術支援ロボット「da Vinci」の3D裸眼映像伝送実証実験を計画 [09:36 2/10] |
|
【レポート】CP+2012 - Wi-Fiや「ビューティレタッチ」の体験コーナーを展開 -パナソニック [13:51 2/10] 家電 |
|
Cut & Paste、台湾Fruitshop InternationalのiPhone 4S/4用ケースなど3種 [13:51 2/10] 携帯 |
|
マウス、最新Intel SSD搭載のクリエイター向けプロフェッショナルPCを発売 [13:49 2/10] パソコン |
|
ドスパラ、GeForce GTXシリーズを搭載する『Skyrim』推奨パソコン [13:40 2/10] パソコン |
|
トーヨデンサン、ファイルサーバをEMCのユニファイドストレージで統合 [13:26 2/10] 経営 |