<?php
class test
{
public function __toString()
{
$e = new Exception('mooo');
echo $e;
// throw $e;
return null;
}
}
$x = new test;
var_dump($x->__toString());
Exception: mooo in /in/VEth5:8
Stack trace:
#0 /in/VEth5(17): test->__toString()
#1 {main}
Fatal error: Uncaught TypeError: test::__toString(): Return value must be of type string, null returned in /in/VEth5:11
Stack trace:
#0 /in/VEth5(17): test->__toString()
#1 {main}
thrown in /in/VEth5 on line 11
Process exited with code 255.
exception 'Exception' with message 'mooo' in /in/VEth5:8
Stack trace:
#0 /in/VEth5(17): test->__toString()
#1 {main}NULL
Output for 5.0.3 - 5.0.4
exception 'Exception' with message 'mooo' in /in/VEth5:8
Stack trace:
#0 /in/VEth5(8): test::__toString()
#1 /in/VEth5(17): test->__toString()
#2 {main}NULL
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/VEth5 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/VEth5 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/VEth5 on line 6
Process exited with code 255.