PHPで型を使って安全かつIDEの支援を受けながら開発したい。 arrayやインターフェイスで受け取った引数に、型をキャストする方法を考えた。 TL;DR PHPはスカラー型やobject型を使ったキャストしかサポートしていない 戻り値に型を指定した関数を用意すれば独自型のキャストができる PHP7.4からはアロー関数を使った簡易関数も作れる 型を指定しておくとIDEに支援もフルに受けることができる final class CastObject extends ParentObject { // 型キャストを行なうだけの関数 public static function cast($obj): self { if (!($obj instanceof self)) { throw new InvalidArgumentException("{$obj} is not instance of
![PHPで独自クラスを使った型キャストをおこなう方法 - My External Storage](https://cdn-ak-scissors.b.st-hatena.com/image/square/06bf6ffabd4534adcc68a067740927785de043b6/height=288;version=1;width=512/https%3A%2F%2Fbudougumi0617.github.io%2Flogos%2Fphp.png)