|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2008-03-12 09:14 UTC] pajoye@php.net
[2008-03-12 10:33 UTC] dmitry@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Dec 11 21:00:02 2025 UTC |
Description: ------------ On some condition PHP may verify abstract method twice. First time it does it on early binding and the second time after executing of all ZEND_ADD_INTERFACE opcodes. As result we have not only speed penalty, but also an incorrect error message. Reproduce code: --------------- <?php abstract class A { abstract function foo(); } interface B { function bar(); } class C extends A implements B { } ?> Expected result: ---------------- Fatal error: Class C contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (A::foo, B::bar) Actual result: -------------- Fatal error: Class C contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (A::foo)