[PHP-dev 578] Re: Fwd: Re: [PHP-DEV] mbstring and 4.3.0

Moriyoshi Koizumi php-dev@php.gr.jp
Thu, 14 Nov 2002 01:59:58 +0900


小泉です。

> > mbstring に関しては日本語以外の言語への対応を強化したほうがいいと思います。
> > テストケースを作っていてわかりましたが、まだまだ改良の余地があります。
> > 
> > また、たいした知恵じゃないですが、mbstring に依存しない形で、i18n フレームワ
> > ークというものを提案することを考えています。構造体による関数ポインタのテーブ
> > ルを設けて、それを API として、php のどの拡張モジュールからもマルチバイト文
> > 字に留意した substr や strlen が使えるようになるというものです。これにより、
> > おそらく現在 sf.jp で進行中のプロジェクトの移行も容易になるのではないかと考
> > えていますがいかがでしょう?
> 
> うーん、strlen等の基本的なところはエンジンから提供するのが筋かなー、と思っ
> ていたのですが、どうでしょう?

もちろんその通りなんです。エンジンに入れられるならその方がいいんですが、
状況的に反対必至だろう、というのがあります。第一 ZendEngine 1 でさえまだバ
グがありますし、これ以上使わない機能のことで悩まされたくないと言われそうで
すから。

> まぁ仮にそうだとしても
> 
> - どの辺までエンジンで提供するのか(substrは入れるのかいれないのか、等)
> - zend_utility_functionsで登録するのか、エンジン自体にmbstring同等の機能
>   を取り込むのか

上の話はまさに zend_utility_functions を意識しています。将来そっちにもって
これたらいいな、とは思っています。

> 等々議論の余地はありまくるわけなので、4.3.0が出たら(出る前でもいいですが)
> 大雑把にでもどう進めていくかについて議論したほうがよさそうですね。ここで
> もいいですし、ircでも、大垣さんが東京方面に来られるついでがあるのでした
> らオフラインでも良いですし。

そうですね、私はとりあえず議論はメーリングリスト上で進めたほうがよいかと思
います。あと、できれば本家の dev の方で。

> > # sf.jp のものは、4.3.0 リリース後に早い段階でブランチを作って、少しづつ
> > # マージしていったほうがいいと思います。
> 
> ですね。この辺は次が4.4なのか5なのかにも拠りそうかな、とも思いますが。
> 
> > そして、その第一段階として、iconv を使って、substr, strpos, strrpos, 
> > substr_count の等価関数を書いてみました。もしご興味ありましたら、私個人当て
> > にメールをください。パッチをお送りします。もしくは適当な場所にアップロードし
> > ます。
> 
> せっかくなので皆様が見えるところに置くのがよろしいかと思うのですが。僕も
> 見てみたいですし。

ありがとうございます。とりあえず、

http://www.voltex.jp/patches/iconv_functions.patch.diff.txt をご覧下さいませ。

iconv_substr_count() と mb_substr_count() を比較してみれば分かりますが、
私の実装がひどすぎるというのもあるんですが、iconv_substr_count() の方が100
倍くらい遅いです。
それでは、ご意見お待ちしております。