<?php
abstract class Foo {}
class Bar extends Foo {}
abstract class Builder {
function doIt($foo) {}
}
class RealBuilder extends Builder {
function doIt(Bar $bar) {
var_dump($bar);
}
}
$builder = new RealBuilder();
$bar = new Bar();
$builder->doIt($bar);
Fatal error: Declaration of RealBuilder::doIt(Bar $bar) must be compatible with Builder::doIt($foo) in /in/8ISla on line 15
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Warning: Declaration of RealBuilder::doIt(Bar $bar) should be compatible with Builder::doIt($foo) in /in/8ISla on line 15
object(Bar)#2 (0) {
}