共変性と反変性 PHP 7.2.0 で、子クラスのメソッドの引数の型の制限を除く形で、反変性が一部サポートされました。 PHP 7.4.0 以降で、共変性と反変性が完全にサポートされるようになりました。 共変性とは、子クラスのメソッドが、親クラスの戻り値よりも、より特定の、狭い型を返すことを許すことです。 反変性とは、親クラスのものよりも、より抽象的な、広い型を引数に指定することを許すものです。 型宣言は以下の場合に、より特定の、狭い型であると見なされます: union 型 から、特定の型が削除されている場合 特定の型が 交差型 に追加されている場合 クラスの型が、子クラスの型に変更されている場合 iterable が 配列 または Traversable に変更されている場合 上記と反対のことが当てはまる場合は、より抽象的な、広い型であると見なされます。 <?php abstract c
