generated at
PHPのType Declaration
v5.xまではPHPのType Hintingと呼ばれていたもの
PHPのv7.4から入った型検査するやつ
型は明示しているだけで、異なった値を与えてもエラーにはならない
PHP Intelephenseはエラーを出してくれる
strict_typesを使用しない場合は暗黙のcastが行われる



型の種類
bool, int, float, string, array, object
iterable
self, parent
任意のクラスおよびインターフェイス名
?type
nullable
e.g. ?int , ?string




Undefined type というエラーはなに?
SymfonyをDockerで動かしてるからかなmrsekut
vendorディレクトリをsyncしてなかったからだった
PHP Intelephenseに依るもの
Stubを追加するなどもあるらしい













型宣言は実行時に影響がある





GPT-4
union types
v8.0以降
php
function processInput(int|string $input): void {}
null許容型
php
function getUserName(?int $userId): ?string {}
配列型
array
v8.1から iterable を使える
genricsの表現ができる?
callable
php
function executeCallback(callable $callback): void { $callback(); }