Fun with interfaces (Iterator fun)

php.internals

Andrey Hristov

22 years ago
Hi internals, here goes some interface fun : class FubarOK has no problem implementing Iterator. interface NewIterator just extends Iterator and adds nothing, and here comes the fun - an error message when FubarProblem tries to implement NewIterator. Code : <?php class FubarOk implements Iterator { public function next(){} public function key(){} public function current(){} public function hasMore(){} public function rewind(){} } interface NewIterator extends Iterator { } class FubarProblem implements NewIterator { public function next(){} public function key(){} public function current(){} public function hasMore(){} public function rewind(){} } ?> Output : PHP Fatal error: Class FubarProblem must implement interface Traversable as part of either Iterator or IteratorAggregate in Unknown on line 0 regards, Andrey