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

PHP8.1

PHPは '...' のことをスプレッド演算子とは言っていない。

php

プログラミングでは、複数の変数をまとめて表現するのに '...' を使い、一般的にスプレッド演算子といいます。またはスプレッド構文ともいう。

しかしPHPは『スプレッド』という言葉は使いません。アンパックと表現しますが世間的にはスプレッド演算子/構文と言われています。

続きを読む

PHP8.1, 読み取り専用のプロパティ追加。一度値を代入すると上書きできない。

php

PHP8.1から、クラスオブジェクトのプロパティを読み取り専用にできるようになりました。

プロパティ変数名の左に readonly キーワードを付けるだけ。

簡単そうに見えますが(じっさいに簡単。)、いろいろと制約があります。サンプルを交えながら見ていきましょう。

続きを読む

PHP8.1, ついに追加されたEnum(列挙型)。...で、それは何? 何のためのもの?

php

Enum(列挙型)は、オブジェクト指向言語ではおなじみのデータ型ですが、PHP8.1でついに使えるようになりました。

JavaやC++を知ってる人にはかんたんです。ほぼ同じような仕様になってるので。

新しく追加された機能なので、もちろん、8.0以下との互換性はありません。

(8.0以下では文法エラーになる。)

続きを読む

PHP8.1, 列挙型(Enum)にトレイト(trait)が追加できる。

php

列挙型(Enum)にはメソッドやインターフェイスが追加できるように、トレイト(trait)も追加できます。

トレイトはメソッドをまとめたもので、インターフェイスやクラスの継承とは別のメソッド共通使用の方法です。

Enumだからといって特別なことはありません。使い方は通常のクラスと同じ。

続きを読む

PHP8.1, 列挙型(Enum)に定数(const)が追加できる。使いみちがなさそうである。

php

列挙型(Enum)にはメソッドやインターフェイスが追加できるように、定数も追加できます。

最初は『これいるんだろうか? Enumって定数の集まりだよね?』と思いましたが、よくよく考えてみると使いみちはあった。

case とconst はともに定数で参照する側からは同じなんですが、性格がちがいます。

続きを読む