🙆

今週の PHP 2024-06-08 〜 2024-06-14

2024/06/17に公開

PHP のメーリングリストから、気になった情報をピックアップします。

Internal

Follow up of DateTimeException RFC - Externals

PHP: rfc:datetime-exceptions

このRFCの実装によって下記の3メソッドはfalseを返さなくなっている

  • Datetime::modify
  • DatetimeImmutable::modify
  • DateInterval::createFromDateString

だけど、メソッドのスタブが更新されてないから、ReflectionClassを使うと、falseが返ってきちゃうよというお話。恥ずかしながら、ReflectionClassの挙動に詳しくなかったので驚きました。

この系の実装漏れはいっぱいありそう。それでいて修正自体は簡単そう...チャンス?

PHP: rfc:xmlreader_writer_streams

XMLReader, XMLWriterにopenStreamメソッドを追加するRFCですが、投票に入りました。

承認されそうですね。

Revisiting case-sensitivity in PHP - Externals

どでかいインパクトがありそうなお便りです。PHPにおける大文字・小文字の区別について、再検討しようという話です。
Case-Sensitive は大文字、小文字を区別する。Case-Insensitive は大文字小文字を区別しないです。

PHP8.3の現状

Case-Sensitive

  • variables
  • constants
  • class constants
  • properties

Case-Insesitive

  • namespaces
  • functions
  • classes
  • methods

つまり、こんなコードが書けるわけです。大抵のものはスタイルチェックなどで修正できるような問題だと思いますが、後方互換性は派手に失われる変更です。

現在の議論では、賛成はしつつも、後方互換性についての心配が多いようです。仮に採用されるとしたらPHP 9.0がターゲットになりそうですね。

gd heif support - Externals

GDに HEIF(High Efficiency Image File Format)のサポートを追加しようというお便り、誰も反応していない...

たしかGD回りを見ていた人は、最近あまり活動してないのではなかったっけ。GDは広く使われているものなので少し心配です。

PHP: rfc:dom_additions_84

DOM拡張の機能追加に関するRFCです。投票が開始されましたが、承認されそうな雰囲気です。

Discussion