ツイート
シェア
LINEで送る
B! はてぶでブックマーク
Pocketでブックマーク
RSSフィード

キャスト

PHP8, Stringableインタフェース, 文字列への変換(キャスト)を強制するクラスにする

php

PHP8で新たに追加されたStringableインタフェースは、オブジェクトから文字列へ変換するクラスに強制的になります。

強制して無理やりデータ型をstringにするので型チェックしているのと同じになるという機能。

このインタフェースを実装するクラスは __toString() メソッドを用意するだけのシンプルな作り。

続きを読む

PHP8, get_resource_id, リソースIDを取得する関数。これ作った意味ある?

php

リソース型はいわゆるファイルなどのディスクリプタのことで、C言語ではファイルポインタと呼ばれるものです。

これまでリソース型をintでキャストすればIDが取れたんですが、PHP8で新たにIDを取得する関数が追加されました。

説明を見ると、リソース型をintでキャストして返してるそう。この関数作った意味ある?

続きを読む

PHP8, is_numeric, 判定が変わり後ろ空白がtrueに

php

PHP8では数値文字列の考え方が変わり、判定で後ろ空白がtrueを返すようになりました。

前の空白はOKなのに、なんで後ろ空白はダメなのか? 不思議に思っていた人にとってはひとつモヤモヤが解消されます。

具体的にはis_numeric()の判定結果が変わります。

続きを読む

PHP8, 関数のパラメータの型を守らないとエラーになる。戻り値も。

php

PHP8では、内部関数のパラメータの型が厳格になりました。(戻り値も。)

厳格とは、『今までは適当でも動かしてたけど、これからはエラーを返すよ?』ということ。

PHP8はデータの厳格化がポイントなのでその一環。

曖昧さを許さないプログラミングをしていた人にとっては当たり前の話です。

続きを読む