<?php
class test
{
public function __construct() { echo 'Hello from ctor', PHP_EOL; }
public function test() {}
public function delta() {}
}
var_dump(is_callable(['test', 'delta']));
var_dump(is_callable(['test', 'test']));
var_dump(is_callable(['test', '__construct']));
call_user_func(['test', '__construct']);
bool(false)
bool(false)
bool(false)
Fatal error: Uncaught TypeError: call_user_func(): Argument #1 ($callback) must be a valid callback, non-static method test::__construct() cannot be called statically in /in/YH7T5:15
Stack trace:
#0 {main}
thrown in /in/YH7T5 on line 15
Process exited with code 255.
Output for 8.0.0 - 8.0.9
bool(false)
bool(false)
bool(false)
Fatal error: Uncaught TypeError: call_user_func(): Argument #1 ($function) must be a valid callback, non-static method test::__construct() cannot be called statically in /in/YH7T5:15
Stack trace:
#0 {main}
thrown in /in/YH7T5 on line 15
Process exited with code 255.
bool(true)
bool(false)
bool(false)
Warning: call_user_func() expects parameter 1 to be a valid callback, non-static method test::__construct() cannot be called statically in /in/YH7T5 on line 15
Output for 5.2.14 - 5.2.17, 5.3.3 - 5.3.29
Parse error: syntax error, unexpected '[', expecting ')' in /in/YH7T5 on line 11
Process exited with code 255.
Strict Standards: Redefining already defined constructor for class test in /in/YH7T5 on line 7
Parse error: syntax error, unexpected '[', expecting ')' in /in/YH7T5 on line 11
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Strict Standards: Redefining already defined constructor for class test in /in/YH7T5 on line 7
Parse error: parse error, unexpected '[', expecting ')' in /in/YH7T5 on line 11
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/YH7T5 on line 6
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/YH7T5 on line 6
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/YH7T5 on line 6
Process exited with code 255.