<?php
interface I{
public function i();
}
class C {
public function i() {
echo __CLASS__;
}
}
class D {
public function __construct(I $c) {
echo __CLASS__;
}
}
new D(new C);
Fatal error: Uncaught TypeError: D::__construct(): Argument #1 ($c) must be of type I, C given, called in /in/pq0Be on line 22 and defined in /in/pq0Be:16
Stack trace:
#0 /in/pq0Be(22): D->__construct(Object(C))
#1 {main}
thrown in /in/pq0Be on line 16
Process exited with code 255.
Fatal error: Uncaught TypeError: Argument 1 passed to D::__construct() must implement interface I, instance of C given, called in /in/pq0Be on line 22 and defined in /in/pq0Be:16
Stack trace:
#0 /in/pq0Be(22): D->__construct(Object(C))
#1 {main}
thrown in /in/pq0Be on line 16
Process exited with code 255.
Catchable fatal error: Argument 1 passed to D::__construct() must implement interface I, instance of C given, called in /in/pq0Be on line 22 and defined in /in/pq0Be on line 16
Process exited with code 255.
Output for 5.1.0 - 5.1.6
Fatal error: Argument 1 passed to D::__construct() must implement interface I, called in /in/pq0Be on line 22 and defined in /in/pq0Be on line 16
Process exited with code 255.
Output for 5.0.5
Fatal error: Argument 1 must implement interface I in /in/pq0Be on line 16
Process exited with code 255.
Output for 5.0.0 - 5.0.4
Process exited with code 139.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING in /in/pq0Be on line 3
Process exited with code 255.