列挙型(Enum)にはメソッドやインターフェイスが追加できるように、トレイト(trait)も追加できます。
トレイトはメソッドをまとめたもので、インターフェイスやクラスの継承とは別のメソッド共通使用の方法です。
Enumだからといって特別なことはありません。使い方は通常のクラスと同じ。
続きを読む列挙型(Enum)にはメソッドやインターフェイスが追加できるように、トレイト(trait)も追加できます。
トレイトはメソッドをまとめたもので、インターフェイスやクラスの継承とは別のメソッド共通使用の方法です。
Enumだからといって特別なことはありません。使い方は通常のクラスと同じ。
続きを読む列挙型(Enum)にはメソッドやインターフェイスが追加できるように、定数も追加できます。
最初は『これいるんだろうか? Enumって定数の集まりだよね?』と思いましたが、よくよく考えてみると使いみちはあった。
case とconst はともに定数で参照する側からは同じなんですが、性格がちがいます。
続きを読むPHP8.1から追加された列挙型(Enum)は、特殊でも一応クラスの一種なので、メソッド・インターフェイスが追加できます。
ただし、やっぱり特殊であることに変わりはなく、『ん?』というところがあるし、普通のクラスと比べてできないこともあります。
続きを読むPHP8.1から、他のプログラム言語にはすでにある列挙型(Enum)が追加されました。
基本形は定数値を入れずに定数だけを定義するんですが、定数値を入れる型もあります。Backed Enumと言います。
基本形とあまり変わらないので難しくないです。
続きを読むPHP8.1から列挙型が追加されました。Enumという特殊なクラスです。
列挙型は定数をまとめたもの。Javaにはすでにあるんですが、そのPHP版といったところです。
既存のクラスで同じことができなくもないんですが、定数の集合を明示することで読みやすくなります。
続きを読むPHPに限らず、プログラミングのイコール(=)は値の代入、言いかえれば、右辺から左辺へのコピーです。
ただ、クラスのオブジェクトではちがう。コピーですらないので、知らないととんでもない間違いを犯します。
これはPHPでも同じ。オブジェクト指向プログラミング特有の現象。
続きを読む