<?php
abstract class class1
{
abstract public function method1($arg1);
public function method2($arg1)
{
var_dump(func_get_args());
}
}
class class2 extends class1
{
public function method1($arg1)
{
var_dump(func_get_args());
}
public function method2($arg1, $arg2)
{
var_dump(func_get_args());
}
}
$obj = new class2;
$obj->method1(1);
$obj->method2(1, 2);
Fatal error: Declaration of class2::method2($arg1, $arg2) must be compatible with class1::method2($arg1) in /in/NDZKq on line 19
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Warning: Declaration of class2::method2($arg1, $arg2) should be compatible with class1::method2($arg1) in /in/NDZKq on line 19
array(1) {
[0]=>
int(1)
}
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Warning: Declaration of class2::method2($arg1, $arg2) should be compatible with class1::method2($arg1) in /in/NDZKq on line 23
array(1) {
[0]=>
int(1)
}
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Strict Standards: Declaration of class2::method2() should be compatible with class1::method2($arg1) in /in/NDZKq on line 23
array(1) {
[0]=>
int(1)
}
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Strict Standards: Declaration of class2::method2() should be compatible with that of class1::method2() in /in/NDZKq on line 23
array(1) {
[0]=>
int(1)
}
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CLASS in /in/NDZKq on line 2
Process exited with code 255.