[VOTE] RFC: Catchable "call to a member function of a non-object"
| From: | Timm Friebe | Date: | Sun, 29 Jun 2014 10:40:01 +0000 |
| Subject: | [VOTE] RFC: Catchable "call to a member function of a non-object" | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-75131@lists.php.net to get a copy of this message | ||
Dear all,
a couple of weeks ago, I proposed a change to the handling of the situation
where methods are called on non-objects. Instead of an E_ERROR, the engine would
raise an E_RECOVERABLE_ERROR, and enable framework and library authors to handle
this.
An intriguing usecase from my POV is to make use of this in tools like PHPUnit;
instead of just printing a fatal error in the middle of a test run and exiting,
the tools can decide to raise an exception and display the very much more
helpful backtrace. No third-party PHP extensions needed for this, just a simple
set_error_handler() call [1].
I've verified various places like phpdbg and added a bunch of tests and am glad
to extend that should anyone come up with a situation he/she feel this would
behave in an unstable manner; athough this is realized in a somewhat similar
manner to type hint mismatches, which have proven to be quite stable.
Anyhow, I'd now like to see where we'd come out at and would kindly ask you to
vote for or against inclusion of this feature:
https://wiki.php.net/rfc/catchable-call-to-member-of-non-object#vote
Thanks in advance!
-Timm
1:
https://wiki.php.net/rfc/catchable-call-to-member-of-non-object#exampleexceptions