Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

#36132 [Bgs]: CachingIterator do not work well

9 views
Skip to first unread message

quick_defect at yahoo dot com

unread,
Jan 24, 2006, 12:14:15 AM1/24/06
to
ID: 36132
User updated by: quick_defect at yahoo dot com
Reported By: quick_defect at yahoo dot com
Status: Bogus
Bug Type: SPL related
Operating System: *
PHP Version: 5.1.2
Assigned To: helly
New Comment:

A tester will never trust a developer's words, we trust manuals and
actual results:) I do that for the better of php. But I will not update
the status of this defect again. Because there are no documents for SPL
functions, it is really difficult to determain a defect.
helly: From your website,CachingIterator "point" to exactly the next
element of the Iterator being cached. So I still think it mis-behaved
after two times of rewind.


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

[2006-01-23 10:51:02] sni...@php.net

Just trust what the author of the code says.

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

[2006-01-23 10:30:54] quick_defect at yahoo dot com

So you mean a CachingIterator can take more elements than the Iterator
it cached? I can understand that the CachingIterator just caches
Iterator for 1 element. As you know, there are not any documents for
them. So would you PLS to illustrate this?

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

[2006-01-23 10:08:50] he...@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Don't try to outsmart them and still expect them to work correct. The
code you presented works exactly as you told it to.

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

[2006-01-23 10:00:59] tony...@php.net

Assigned to the maintainer.

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

[2006-01-23 09:51:11] quick_defect at yahoo dot com

Description:
------------
I know I did not use the rewind function as usual. But after I did so,
the behavior of Iterator seemed went wrong.

Reproduce code:
---------------
<?php
$ary=array("1","2");
$ary_obj=new ArrayObject($ary);
$ite=$ary_obj->getIterator();
$c_ite=new CachingIterator($ite);

$ite->rewind();
$c_ite->rewind();
for($axx=$ite;$axx->valid();$axx->next())
{
var_dump($axx->current());
}


echo "*******\n";
$c_ite->rewind();
$ite->rewind();
for($axx=$c_ite;$axx->valid();$axx->next())
{
var_dump($axx->current());
}
?>


Expected result:
----------------
string(1) "1"
string(1) "2"
*******
string(1) "1"
string(1) "2"


Actual result:
--------------
string(1) "2"
*******
string(1) "1"
string(1) "1"
string(1) "2"

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


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

joha...@php.net

unread,
Jan 24, 2006, 8:36:03 AM1/24/06
to
ID: 36132
Updated by: joha...@php.net

Reported By: quick_defect at yahoo dot com
Status: Bogus
Bug Type: SPL related
Operating System: *
PHP Version: 5.1.2
Assigned To: helly
New Comment:

SPL documentation is at http://php.net/~helly/php/ext/spl/
(as linked from php.net/spl) most classes are also
avialable in form of an PHP implementation at
php-src/ext/spl/internal/ in PHP Source distribution or
CVS. And I trust the implementation only :-)


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

[2006-01-24 06:13:59] quick_defect at yahoo dot com

A tester will never trust a developer's words, we trust manuals and
actual results:) I do that for the better of php. But I will not update
the status of this defect again. Because there are no documents for SPL
functions, it is really difficult to determain a defect.
helly: From your website,CachingIterator "point" to exactly the next
element of the Iterator being cached. So I still think it mis-behaved
after two times of rewind.

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

[2006-01-23 10:51:02] sni...@php.net

Just trust what the author of the code says.

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

[2006-01-23 10:30:54] quick_defect at yahoo dot com

So you mean a CachingIterator can take more elements than the Iterator
it cached? I can understand that the CachingIterator just caches
Iterator for 1 element. As you know, there are not any documents for
them. So would you PLS to illustrate this?

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

[2006-01-23 10:08:50] he...@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Don't try to outsmart them and still expect them to work correct. The
code you presented works exactly as you told it to.

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

[2006-01-23 10:00:59] tony...@php.net

Assigned to the maintainer.

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/36132

0 new messages