ID: 35832 Updated by: [EMAIL PROTECTED] Reported By: sp0n9e at gmail dot com -Status: Feedback +Status: Bogus Bug Type: Class/Object related Operating System: Windows XP PHP Version: 5.1.1 New Comment:
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php function myMethod() is abstract in two different interfaces and a class can only implement the function once, hence the error. Previous Comments: ------------------------------------------------------------------------ [2005-12-28 22:39:39] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.1-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.1-win32-latest.zip ------------------------------------------------------------------------ [2005-12-28 22:14:08] sp0n9e at gmail dot com Description: ------------ when implementing interfaces that have common methods in a parent class and an extended class, the code below produces an error. if i provide a method in the child class, it works. it also works if the parent class doesn't implement its' interface. but i think i should be able to inherit from the parent class and satisfy both interfaces. though it would be easy in this example to "code around" the problem, i ran across this in a situation where it won't be quite as easy. Reproduce code: --------------- <?php interface gotsMyMethod { public function myMethod(); } class theparent implements gotsMyMethod { public function myMethod() { return "boo!"; } } interface iNeedsMyMethod { public function myMethod(); } class child extends theparent implements iNeedsMyMethod { } $child = new child(); echo $child->myMethod(); ?> Expected result: ---------------- I expect the code to run without any errors and output "boo!" Actual result: -------------- Fatal error: Can't inherit abstract function iNeedsMyMethod::myMethod() (previously declared abstract in gotsMyMethod) in C:\www\test\bug.php on line 13 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35832&edit=1