PHP8では、パラメータの最後にカンマ(,)が付けられるようになりました。
でも、この記法の導入はおすすめしません。PHP7.4以下では文法エラー(Syntax error)になって致命的だから。
最後のカンマを付けない従来の記法でも通じるので、あえて使う理由はありません。
続きを読むWebのサーバーサイドでよく使われるプログラム言語のPHP。2020年11月26日、5年ぶりにメジャーアップデートしてPHP8がリリースされました。
最初のバージョンがPHP8.0です。7系から8系の移行もあって変更点も多い。
そのPHP8.0について情報を発信します。
自分で情報を探しながらやっても、なかなかスムーズに答えにたどりつかない人向けです。
経験が足りないだけで、遅かったり、失敗しても自信をなくさなくていいです。いまは大きくなるために、技術を知って試す時期なので。
むしろたくさん悩んで、フリーズして、失敗してください。気がついたら最適な答えを出す力が自然と身についているでしょう。
PHP8では、パラメータの最後にカンマ(,)が付けられるようになりました。
でも、この記法の導入はおすすめしません。PHP7.4以下では文法エラー(Syntax error)になって致命的だから。
最後のカンマを付けない従来の記法でも通じるので、あえて使う理由はありません。
続きを読むあまり使う機会はないですが、PHPにはHTMLのDOM(HTMLをメモリ上に展開したもの)を扱うクラスがたくさん用意されています。
PHP8ではそれに、新しいインタフェースが追加されました。
これらのクラスはXMLを扱うものにも使われ、どちらかといえばこっちのほうが慣れ親しい。
続きを読むPHP8で新たに追加されたStringableインタフェースは、オブジェクトから文字列へ変換するクラスに強制的になります。
強制して無理やりデータ型をstringにするので型チェックしているのと同じになるという機能。
このインタフェースを実装するクラスは __toString() メソッドを用意するだけのシンプルな作り。
続きを読むリソース型はいわゆるファイルなどのディスクリプタのことで、C言語ではファイルポインタと呼ばれるものです。
これまでリソース型をintでキャストすればIDが取れたんですが、PHP8で新たにIDを取得する関数が追加されました。
説明を見ると、リソース型をintでキャストして返してるそう。この関数作った意味ある?
続きを読むPHPの変数の型をデバッグするのに gettype() を使いますが、PHP8.0 ではさらに分かりやすく表示する get_debug_type() が追加されました。
これらの関数は文字列で型名を返すので型のチェックには使えません。
その勘違いをなくすために関数名に 'debug' が入ってます。
続きを読むPHP8.0で、部分文字列を扱う関数が3つ追加されました。
str_contains(), str_starts_with(), str_ends_with() 。
この3つの関数じゃなくても比較的かんたんに同じ処理が書けるんですが、あえて新関数が用意されました。
続きを読む