<?php
interface FooInterface {
public function bar(\StdClass $objec);
}
class Foo {
public function bar(\StdClass $objec) {
}
}
class Bar extends Foo {
public function bar(\StdClass $object, array $array) {
echo 'yes';
}
}
$bar = new Bar();
$bar->bar();
Fatal error: Declaration of Bar::bar(StdClass $object, array $array) must be compatible with Foo::bar(StdClass $objec) in /in/J1UGF on line 14
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Bar has a deprecated constructor in /in/J1UGF on line 13
Warning: Declaration of Bar::bar(StdClass $object, array $array) should be compatible with Foo::bar(StdClass $objec) in /in/J1UGF on line 14
Fatal error: Uncaught ArgumentCountError: Too few arguments to function Bar::bar(), 0 passed in /in/J1UGF on line 19 and exactly 2 expected in /in/J1UGF:14
Stack trace:
#0 /in/J1UGF(19): Bar->bar()
#1 {main}
thrown in /in/J1UGF on line 14
Process exited with code 255.
Output for 7.3.32 - 7.3.33
Fatal error: Uncaught ArgumentCountError: Too few arguments to function Bar::bar(), 0 passed in /in/J1UGF on line 19 and exactly 2 expected in /in/J1UGF:14
Stack trace:
#0 /in/J1UGF(19): Bar->bar()
#1 {main}
thrown in /in/J1UGF on line 14
Process exited with code 255.
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Bar has a deprecated constructor in /in/J1UGF on line 13
Fatal error: Uncaught ArgumentCountError: Too few arguments to function Bar::bar(), 0 passed in /in/J1UGF on line 19 and exactly 2 expected in /in/J1UGF:14
Stack trace:
#0 /in/J1UGF(19): Bar->bar()
#1 {main}
thrown in /in/J1UGF on line 14
Process exited with code 255.
Output for 7.0.0 - 7.0.20
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Bar has a deprecated constructor in /in/J1UGF on line 13
Fatal error: Uncaught TypeError: Argument 1 passed to Bar::bar() must be an instance of stdClass, none given, called in /in/J1UGF on line 19 and defined in /in/J1UGF:14
Stack trace:
#0 /in/J1UGF(19): Bar->bar()
#1 {main}
thrown in /in/J1UGF on line 14
Process exited with code 255.
Catchable fatal error: Argument 1 passed to Bar::bar() must be an instance of stdClass, none given, called in /in/J1UGF on line 19 and defined in /in/J1UGF on line 14
Process exited with code 255.