今週の PHP 2023-03-11 〜 2023-03-17
PHP のメーリングリストから、気になった情報をピックアップします。
Internal
Typed class constants
無事にAcceptされました。const に型が付きます。
Code optimization
RFC: code optimizations - Externals
Max さんからのお便り。コード改善の一連のPRに対する許可を一挙に解決しようとして作られたRFCですが、インターナルにおいては、コアコードに対する広い範囲の改善コミットは許可できない(気持ちは分かるが...みたいなニュアンス)という方向になりました。
結果として、Max さんは、もうこれ以上改善を提案することはないといって去っていきました。
これについて、一瞬皮肉めいた返信もありましたが、改善しようという意思がある人間をうまくインターナルに関与させることができなかったことについて、話し合う必要があるという意見がでています。
リリース
Bugs
Fix GH-10648: add check function pointer into mbfl_encoding by pakutoma · Pull Request #10828 · php/php-src
pakutoma さんの PR。ISO-2022-JP 周りの mb_check_encoding
の挙動修正です。
PHPerKaigi 2023 にて、ご本人にお聞きしたのですが、やはりお仕事で ISO-2022-JP
と向き合う必要があるので、このへんのイシューに対応されているそうです。
ご苦労様です。
exif_read_data() cannot read smaller stream wrapper chunk sizes · Issue #10834 · php/php-src
exif_read_data
で stream から情報を取得する際に、stream wrapper chunk size が小さいと読み取れないという不具合。
いつかハマる可能性もあるので、記憶の片隅においておきたい話です。
[PHP@master] Reflection method does not exist for private method from parent class · Issue #10840 · php/php-src
Reflectio method が private のメソッド継承を行えないという不具合報告でしたが、master で発生したものが、現在は修正されたようです。
Wrong calculation of duration in NumberFormatter on rounding up · Issue #10843 · php/php-src
NumberFormatter の NumberFormatter::DURATION
が四捨五入した際におかしくなるという報告。NubmerFormatter というよりは、ICU の不具合だったようで、そちら側に不具合報告されました。
modify readonly class property with reference · Issue #10844 · php/php-src
Readonly property を参照を使うことで修正できてしまうという報告。前にも見たことあるなと思ったら https://github.com/php/php-src/issues/9432 あったっぽい。
すでに修正されています。
Check UTF-8 validity for all constant strings on compile time · Issue #10853 · php/php-src
すべてのconstに対して、コンパイル時にUTF-8の正当性チェックを行うというイシュー。
文字列のキャッシュが正当なUTF-8文字列じゃないと行われないという現状の構造に合わせた変更のようです。
- check UTF-8 validity on compile time on every const string
- store a flag if UTF-8 validity was checked or not
Discussion