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

Reply via email to