PHP6開発 UTF-16化を断念、5.3へロールバック

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になるのかはまったく未定。


転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事