<?php
class A
{
public function __construct($hours, $minutes)
{
$this->hours = (int) $hours;
$this->minutes = (int) $minutes;
}
public static function a($time)
{
return new static();
}
public static function b($time)
{
return new self();
}
}
var_dump(A::a());
#var_dump(A::b());
Fatal error: Uncaught ArgumentCountError: Too few arguments to function A::a(), 0 passed in /in/hgGgR on line 22 and exactly 1 expected in /in/hgGgR:11
Stack trace:
#0 /in/hgGgR(22): A::a()
#1 {main}
thrown in /in/hgGgR on line 11
Process exited with code 255.
Warning: Missing argument 1 for A::a(), called in /in/hgGgR on line 22 and defined in /in/hgGgR on line 11
Warning: Missing argument 1 for A::__construct(), called in /in/hgGgR on line 13 and defined in /in/hgGgR on line 5
Warning: Missing argument 2 for A::__construct(), called in /in/hgGgR on line 13 and defined in /in/hgGgR on line 5
Notice: Undefined variable: hours in /in/hgGgR on line 7
Notice: Undefined variable: minutes in /in/hgGgR on line 8
object(A)#1 (2) {
["hours"]=>
int(0)
["minutes"]=>
int(0)
}
Output for 5.3.0 - 5.3.2
Strict Standards: Redefining already defined constructor for class A in /in/hgGgR on line 11
Warning: Missing argument 1 for A::a(), called in /in/hgGgR on line 22 and defined in /in/hgGgR on line 11
Warning: Missing argument 1 for A::__construct(), called in /in/hgGgR on line 13 and defined in /in/hgGgR on line 5
Warning: Missing argument 2 for A::__construct(), called in /in/hgGgR on line 13 and defined in /in/hgGgR on line 5
Notice: Undefined variable: hours in /in/hgGgR on line 7
Notice: Undefined variable: minutes in /in/hgGgR on line 8
object(A)#1 (2) {
["hours"]=>
int(0)
["minutes"]=>
int(0)
}
Output for 5.2.14 - 5.2.17
Parse error: syntax error, unexpected T_STATIC, expecting T_STRING or T_VARIABLE or '$' in /in/hgGgR on line 13
Process exited with code 255.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.13
Strict Standards: Redefining already defined constructor for class A in /in/hgGgR on line 11
Parse error: syntax error, unexpected T_STATIC, expecting T_STRING or T_VARIABLE or '$' in /in/hgGgR on line 13
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Strict Standards: Redefining already defined constructor for class A in /in/hgGgR on line 11
Parse error: parse error, unexpected T_STATIC, expecting T_STRING or T_VARIABLE or '$' in /in/hgGgR on line 13
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/hgGgR on line 5
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/hgGgR on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/hgGgR on line 5
Process exited with code 255.