Return to abstract_by_interface_001.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / classes |
1.1 ! misho 1: --TEST-- ! 2: ZE2 An abstract method may not be called ! 3: --FILE-- ! 4: <?php ! 5: ! 6: class Root { ! 7: } ! 8: ! 9: interface MyInterface ! 10: { ! 11: function MyInterfaceFunc(); ! 12: } ! 13: ! 14: abstract class Derived extends Root implements MyInterface { ! 15: } ! 16: ! 17: class Leaf extends Derived ! 18: { ! 19: function MyInterfaceFunc() {} ! 20: } ! 21: ! 22: var_dump(new Leaf); ! 23: ! 24: class Fails extends Root implements MyInterface { ! 25: } ! 26: ! 27: ?> ! 28: ===DONE=== ! 29: --EXPECTF-- ! 30: object(Leaf)#%d (0) { ! 31: } ! 32: ! 33: Fatal error: Class Fails contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (MyInterface::MyInterfaceFunc) in %sabstract_by_interface_001.php on line %d