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

Reply via email to