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

中級者 - PHP8.0の技術情報

Webのサーバーサイドでよく使われるプログラム言語のPHP。2020年11月26日、5年ぶりにメジャーアップデートしてPHP8がリリースされました。

最初のバージョンがPHP8.0です。7系から8系の移行もあって変更点も多い。

そのPHP8.0について情報を発信します。

自分で情報を探しながらやっても、なかなかスムーズに答えにたどりつかない人向けです。

経験が足りないだけで、遅かったり、失敗しても自信をなくさなくていいです。いまは大きくなるために、技術を知って試す時期なので。

むしろたくさん悩んで、フリーズして、失敗してください。気がついたら最適な答えを出す力が自然と身についているでしょう。

PHP8, パラメータの最後にカンマ(,)が付けられる - 文法(シンタックス)の変更

php

PHP8では、パラメータの最後にカンマ(,)が付けられるようになりました。

でも、この記法の導入はおすすめしません。PHP7.4以下では文法エラー(Syntax error)になって致命的だから。

最後のカンマを付けない従来の記法でも通じるので、あえて使う理由はありません。

続きを読む

PHP8, DOM生成クラスに新しいインタフェース追加。ノードクラスの再構成。

php

あまり使う機会はないですが、PHPにはHTMLのDOM(HTMLをメモリ上に展開したもの)を扱うクラスがたくさん用意されています。

PHP8ではそれに、新しいインタフェースが追加されました。

これらのクラスはXMLを扱うものにも使われ、どちらかといえばこっちのほうが慣れ親しい。

続きを読む

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

php

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

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

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

続きを読む

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

php

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

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

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

続きを読む