ID: 33897
Comment by: marrone_mike at hotmail dot com
Reported By: kpisman at gmail dot com
Status: No Feedback
Bug Type: Scripting Engine problem
Operating System: FreeBSD 5.4-STABLE #1: Sat Jul
PHP Version: 5.0.4
New Comment:
I am having this same problem. The iterator was working and the error
seems to have popped up out of nowhere. I am using version 5.0.4.
My CollectionIterator class looks like this:
class CollectionIterator implements Iterator {
private $_collection;
private $_currIndex = 0;
private $_keys;
function __construct( Collection $objCol ) {
$this->_collection = $objCol;
$this->_keys = $this->_collection->getKeys();
}
function rewind() {
$this->_currIndex = 0;
}
function valid() {
return $this->_currIndex <
$this->_collection->getLength();
}
function key() {
return $this->_keys[$this->_currIndex];
}
function current() {
return $this->_collection->getItem(
$this->_keys[$this->_currIndex] );
}
function next() {
$this->_currIndex++;
}
}
This is the error:
Fatal error: Couldn't execute method CollectionIterator::key in Unknown
on line 0
The __construct(), rewind(), and current(), methods are all called
without error leading up to the call of the key() method.
Previous Comments:
------------------------------------------------------------------------
[2005-08-09 01:00:04] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2005-08-01 12:40:49] [EMAIL PROTECTED]
I can't reproduce it with both 5.0.x CVS and 5.1 CVS.
------------------------------------------------------------------------
[2005-08-01 12:36:55] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
------------------------------------------------------------------------
[2005-08-01 12:32:03] kpisman at gmail dot com
Sample code:
-----
<?php
class bullshit implements iterator{
function curent(){
}
function next(){
}
function current(){
echo "current";
throw new exception('bullshit');
}
function key(){
}
function rewind(){
}
function valid(){
return (true);
}
function __destruct(){
echo "destructor";
}
}
$f=new bullshit;
try{
foreach($f as $thisF){
}
}
catch (exception $e){
echo "catch !!!";
}
?>
-----
Run results:
php test-zend.php
current
Fatal error: Couldn't execute method bullshit::key in Unknown on line
0
destructor
(shell returned 255)
----
So, it's clean that this appearance is incorrect. I think this is
result of the same bug in Zend engine, that troubles described in
first comment. Also first trouble is exists to: error is appears in
unknown module at line zero.
------------------------------------------------------------------------
[2005-07-28 11:30:30] [EMAIL PROTECTED]
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
------------------------------------------------------------------------
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/33897
--
Edit this bug report at http://bugs.php.net/?id=33897&edit=1