Edit report at https://bugs.php.net/bug.php?id=43200&edit=1
ID: 43200 Updated by: fel...@php.net Reported by: smith at pooteeweet dot org Summary: Interface implementation / inheritence not possible in abstract classes -Status: Open +Status: Closed Type: Bug Package: Scripting Engine problem Operating System: Linux PHP Version: 5.3CVS-2007-11-05 (CVS) -Assigned To: +Assigned To: felipe Block user comment: N Private report: N New Comment: This bug has been fixed in SVN. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. For Windows: http://windows.php.net/snapshots/ Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2011-11-18 23:26:15] lsm...@php.net I should also clarify that the issue also exist when simply dealing with interfaces only aka when an interface extends another interface. I am aware that we do not support polymorphism, but again when dealing with legacy interfaces there will be overlaps with signatures that are identical. ------------------------------------------------------------------------ [2011-10-02 21:16:11] ahar...@php.net Revert the various field changes that crept in. I'll let one of the engine developers figure out if this should be left open or re-bogused. ------------------------------------------------------------------------ [2011-10-01 07:55:33] lsm...@php.net This is not bogus and it should be fixed. In many cases I in the end managed to work around this, but its not always possible, like when dealing with legacy interfaces that one cannot change etc, but that are being superseded by newer ones (f.e. https://github.com/symfony/symfony/pull/2244). ------------------------------------------------------------------------ [2010-12-16 00:38:40] kucho86 at gmail dot com Are you planning to cover this bug?? It's pretty simple to fix and since interfaces define behaviours and classes implements them, this should be possible. It goes against Object Oriented Programming concepts. ------------------------------------------------------------------------ [2007-11-05 16:34:21] cel...@php.net <?php interface A { function foo(); } abstract class B implements A { } class C extends B { public function foo() { echo 'works'; } } $o = new C(); $o->foo(); ?> If you don't want to implement a method from an interface, don't redeclare it, and the code will work as intended. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=43200 -- Edit this bug report at https://bugs.php.net/bug.php?id=43200&edit=1