ID: 28269 Comment by: cunha at gabcmt dot eb dot mil dot br Reported By: phpbug at gb404 dot com Status: Open Bug Type: Zend Engine 2 problem Operating System: * PHP Version: 5.0.0RC2 New Comment:
I'm experiencing the same problem. It's very difficult to discover the missing method if PHP doesn't give any hint. The message given for the first class that "implements" some interface is complete and has IMHO all necessary information to the programmer. But the message given for any subclasses is generic and doesn't tell which methods are missing and why. Previous Comments: ------------------------------------------------------------------------ [2004-05-04 05:44:00] phpbug at gb404 dot com This is not specific to linux ------------------------------------------------------------------------ [2004-05-04 03:43:23] phpbug at gb404 dot com Description: ------------ When I try to instantiate a class which extends an abstract class but without implemented all defined abstract functions, this class becomes abstract too and fatal error message returned doesn't give any reason. Then it is very difficult to find which abstract function is not implemented as defined in the abstract parent class when there is a lot of abstract functions to implement. Is it possible to display a list of the missing function after the actual error message ? Reproduce code: --------------- <?php abstract class a { abstract function foo(); abstract function bar(); } class b extends a { function foo() { return "I am the foo function"; } } $obj = new b(); ?> Expected result: ---------------- Fatal error: Cannot instantiate class b, abstract function parent::bar not implemented in /absolute/path/to/my/file/b.php on line 15 Actual result: -------------- Fatal error: Cannot instantiate abstract class b in /absolute/path/to/my/file/b.php on line 15 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=28269&edit=1