22. PHP 7.4 改善/変更のポイント
22
共変戻り値と反変パラメータに対応(警告がでなくなった)
https://wiki.php.net/rfc/covariant-returns-and-contravariant-parameters
class A {}
class C {
public function foo(A $foo) : C {}
}
class D extends C {
public function foo(A $foo) : D {}
}
Warning: Declaration of D::foo(A $foo):D should be
compatible with C::foo(A $foo):C
PHP 7.3まで
class A {}
class B extends A {}
class C {
public function foo(B $foo) {}
}
class D extends C {
public function foo(A $foo) {}
}
Warning: Declaration of D::foo(A $foo) should be co
mpatible with C::foo(B $foo)
PHP 7.3まで