PHP8で新たに追加されたStringableインタフェースは、オブジェクトから文字列へ変換するクラスに強制的になります。
強制して無理やりデータ型をstringにするので型チェックしているのと同じになるという機能。
このインタフェースを実装するクラスは __toString() メソッドを用意するだけのシンプルな作り。
続きを読むPHP8で新たに追加されたStringableインタフェースは、オブジェクトから文字列へ変換するクラスに強制的になります。
強制して無理やりデータ型をstringにするので型チェックしているのと同じになるという機能。
このインタフェースを実装するクラスは __toString() メソッドを用意するだけのシンプルな作り。
続きを読むリソース型はいわゆるファイルなどのディスクリプタのことで、C言語ではファイルポインタと呼ばれるものです。
これまでリソース型をintでキャストすればIDが取れたんですが、PHP8で新たにIDを取得する関数が追加されました。
説明を見ると、リソース型をintでキャストして返してるそう。この関数作った意味ある?
続きを読むPHP8では数値文字列の考え方が変わり、判定で後ろ空白がtrueを返すようになりました。
前の空白はOKなのに、なんで後ろ空白はダメなのか? 不思議に思っていた人にとってはひとつモヤモヤが解消されます。
具体的にはis_numeric()の判定結果が変わります。
続きを読むPHP8では、内部関数のパラメータの型が厳格になりました。(戻り値も。)
厳格とは、『今までは適当でも動かしてたけど、これからはエラーを返すよ?』ということ。
PHP8はデータの厳格化がポイントなのでその一環。
曖昧さを許さないプログラミングをしていた人にとっては当たり前の話です。
続きを読む