Edit report at http://bugs.php.net/bug.php?id=53259&edit=1
ID: 53259 Updated by: [email protected] Reported by: kbcmdba at gmail dot com Summary: Incomplete implementations of extended classes don't cause an error Status: Wont fix Type: Feature/Change Request Package: Class/Object related Operating System: Windows 7 PHP Version: 5.3.3 Block user comment: N New Comment: I think I misunderstood your report. In any case, it is detached from the reality. Here's what happens: C:\Users\Cataphract\Documents\php-src\Debug_TS>php -l <?php class fooBase { abstract public function mustImplement(); abstract public function youMustImplementThisToo(); } class foo extends fooBase { public function bar() { echo "Hello world\n" ; } } echo "Made it here... That makes sense.\n" ; $c = new foo() ; $c->bar() ; echo "... but not here and without an error message or warning.\n" ; ^Z Fatal error: Class fooBase contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (fooBase::mustImplement, fooBase::youMustImplementThisToo) in - on line 6 Errors parsing - Previous Comments: ------------------------------------------------------------------------ [2010-11-08 09:22:00] kbcmdba at gmail dot com I would have hoped that PHP would at least have given some indication of what was wrong. Using php -l doesn't report a problem either. It would help a lot if that wasn't the case so we'd at least have some help tracking down the bug / oops. Why do you say the request doesn't make sense? KB ------------------------------------------------------------------------ [2010-11-08 01:55:00] [email protected] What doesn't make sense is this request. So it fails without a message and not on where the error actually is... ------------------------------------------------------------------------ [2010-11-08 01:43:56] kbcmdba at gmail dot com Description: ------------ Incomplete implementations of extended classes don't cause an error message back to the user. Test script: --------------- <?php class fooBase { abstract public function mustImplement() { // This must be implemented. } abstract public function youMustImplementThisToo() { // This must be implemented too. } } class foo extends fooBase { public function bar() { echo "Hello world\n" ; } } echo "Made it here... That makes sense.\n" ; $c = new foo() ; $c->bar() ; echo "... but not here and without an error message or warning.\n" ; Expected result: ---------------- Fatal Error: The foo class is an incomplete implementation of the fooBase class in foo.php. Concrete implementation of mustImplement() is required Concrete implementation of youMustImplementThisToo() is required ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53259&edit=1
