ID:               28813
 Updated by:       [EMAIL PROTECTED]
 Reported By:      nospam0 at malkusch dot de
 Status:           Bogus
 Bug Type:         Feature/Change Request
 Operating System: *
 PHP Version:      5.0.0RC3
 New Comment:

Most probably from older beta versions where we had
hasMore() instead of valid().


Previous Comments:
------------------------------------------------------------------------

[2004-06-17 15:15:12] nospam0 at malkusch dot de

Yes, when I'm using ReflectionAPI I see that I'm wrong.  
I thaught, that an Iterator must have a hasMore()  
method...But it is the valid() method. I don't know where  
I have that wrong information from.

------------------------------------------------------------------------

[2004-06-17 09:37:33] [EMAIL PROTECTED]

1) It does:

php -r 'ReflectionClass::export("ArrayObject");'
Class [ <internal:SPL> <iterateable> class ArrayObject implements
IteratorAggregate, Traversable, ArrayAccess ] {
......

2) The base interface for ALL Iterators is Traversable

3) The iterators all serve different purposes.

4) ArrayIterator has a method valid(), otherwise it couldn't implement
Iterator:
php -r 'ReflectionClass::export("ArrayIterator");'
Class [ <internal:SPL> <iterateable> class ArrayIterator implements
Iterator, Traversable, ArrayAccess, SeekableIterator ] {
.....
    Method [ <internal> public method valid ] {
    }
.....

=> There is obviously nothing to change.
   Next time you file a bug report verify what you propose.

------------------------------------------------------------------------

[2004-06-17 05:39:14] nospam0 at malkusch dot de

Description:
------------
It would be very nice, if the ArrayObject would implement 
IteratorAggregate. The only thing, which must be done, is 
ArrayIterator should implement Iterator, by aliasing 
valid() with hasMore(). 
 
I think it's to confusing to use so many different 
Iterators wich all provides the same functionallity of 
Iterator. So why don't they all extend Iterator? 



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=28813&edit=1

Reply via email to