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

PHP

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

php

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

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

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

続きを読む

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

php

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

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

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

続きを読む

PHP8.1, Enum(列挙型)の追加。定数専用のクラス。

php

PHP8.1から列挙型が追加されました。Enumという特殊なクラスです。

列挙型は定数をまとめたもの。Javaにはすでにあるんですが、そのPHP版といったところです。

既存のクラスで同じことができなくもないんですが、定数の集合を明示することで読みやすくなります。

続きを読む

PHP, クラスオブジェクトの代入(=)は全くの別物。データコピーだと思ってたら大爆死。

php

PHPに限らず、プログラミングのイコール(=)は値の代入、言いかえれば、右辺から左辺へのコピーです。

ただ、クラスのオブジェクトではちがう。コピーですらないので、知らないととんでもない間違いを犯します。

これはPHPでも同じ。オブジェクト指向プログラミング特有の現象。

続きを読む