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

PHP8

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

今は、1回目のマイナーアップデートが行われPHP8.1です。

そのPHP8で困っている人のために情報を発信します。

PHP8, コンストラクタのパラメータをクラスのプロパティに変身させる。

php

PHP8から、コンストラクタのパラメータ変数をクラスのプロパティにするシンタックス(文法)が追加されました。

これで、コンストラクタ内で '$this->〇〇 = 〇〇' というパラメータをプロパティに代入する処理が不要になります。

プログラミング記述省略のシンタックス変更のひとつ。

続きを読む

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 はともに定数で参照する側からは同じなんですが、性格がちがいます。

続きを読む