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

Web

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

PHP8, union型, 変数や関数の型を複数宣言できる。

php

PHP8から、or(または)の意味を持つパイプライン(|)を使って、型宣言を複数指定できるようになりました。

union型は複数宣言の型の名称で、'union' という型の記述はできません。

同じように特定の型を表さないmixedとはそこはちがう。

続きを読む

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

php

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

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

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

続きを読む

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

php

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

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

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

続きを読む

PHP, var_dump() はインスタンスの状況を確認できる。

php

クラスオブジェクトはシャローコピーなので、プログラムをクラスベース(オブジェクト指向)で作っていると、インスタンスの状況が分かりづらくなります。

それはPHPでも同じ。

インスタンスがどこを見てるかを確認できるのが変数の値を出力する var_dump() です。

続きを読む

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

php

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

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

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

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

続きを読む