👏

今週の PHP 2024-05-25 〜 2024-05-31

2024/06/02に公開

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

Internal

Extract ArrayAccessRead from ArrayAccess - Externals

読み取り専用の ArrayAccessRead を作りましょうという話です。副作用が存在しないことが証明できているのは良さそう。

Fwd: Request for RFC Karma to Propose any_empty and all_empty Methods - Externals

  • any_empty -> 配列内に一個でも空が存在するかをチェック
  • all_empty -> 配列内のすべての要素が空かをチェック

という関数を追加するRFCを出そうとおもてるよというお便り。これは......ユーザーランドでやるべきじゃないかなと思った。なんとなく。

PHP: rfc:new_without_parentheses

↓承認されましたね。めでたし。

new Hoge()->foo();

PHP: rfc:array_find

array_find, array_find_key, array_any(), array_all() も承認されました。
配列操作関数がいっぱい増えますね。

PHP: rfc:asymmetric-visibility-v2

非対称可視性もv2になって帰ってきた!Property Hookにつづいて、こちらも注目のRFCです。
ReadとWriteで可視性が別々に設定できます。

論よりコード

class Foo
{
    public private(set) string $bar = 'baz';
}
 
$foo = new Foo();
var_dump($foo->bar); // prints "baz"
$foo->bar = 'beep'; // Visibility error

この例では、読取は許可されているが書込は許可されていない(setはprivate)のでエラーになっています。

[RFC] [discussion] Correctly name the rounding mode and make it an Enum - Externals

丸めモードをintではなくEnumにしようぜ、Union表現で後方互換性も保てるし。という話です。当然ですが概ね好意的に受け入れられています。

Discussion