--TEST-- Testing parameter type-hinted with interface --FILE-- <?php namespace foo; interface foo { } class bar { public function __construct(foo $x = NULL) { var_dump($x); } } class test implements foo { } new bar(new test); new bar(null); new bar(new \stdclass); ?> --EXPECTF-- object(foo\test)#%d (0) { } NULL Catchable fatal error: Argument 1 passed to foo\bar::__construct() must implement interface foo\foo, instance of stdClass given, called in %s on line %d and defined in %s on line %d