【PHP】クラスプロパティの型指定(PHP7.4〜)

クラスプロパティの型指定

PHP7.4から、クラスのプロパティ(メンバ変数)のデータ型を指定できるようになっている。

環境: PHP 7.4.2

型指定

プロパティの型指定は下記のようにアクセス修飾子(下記ではpublic)と変数名の間に指定する。

(voidとcallable以外の型を指定可)

PHP基本的な型

厳密な型チェック

厳密な型チェックを行う場合はタイプヒンティングの場合と同様、 declare(strict_types=1) を宣言する必要がある。

宣言がない場合は暗黙的にキャスト(型変換)され、例外を発生しない。

(実行)

プロパティの型指定による、TypeError

Fatal error: Uncaught TypeError: Typed property app\src\Member::$id must be int, string used in

Follow me!