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