ID: 27073
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
Bug Type: Zend Engine 2 problem
-Operating System: linux
+Operating System: *
-PHP Version: 5CVS-2004-02-04
+PHP Version: 5.0.0b3
New Comment:
This is something we may fix later but for now the following is
enough:
class FubarProblem implements Iterator, NewIterator {
public function next(){}
public function key(){}
public function current(){}
public function hasMore(){}
public function rewind(){}
}
As you see here the Iterator interface is inherited first so that the
checks are done in the correct order.
Previous Comments:
------------------------------------------------------------------------
[2004-02-05 08:07:19] [EMAIL PROTECTED]
No. Do you experience it?
------------------------------------------------------------------------
[2004-02-05 07:57:27] [EMAIL PROTECTED]
are you sure it's not intentional? :)
------------------------------------------------------------------------
[2004-02-05 07:54:29] [EMAIL PROTECTED]
I am still experiencing the problem :
[EMAIL PROTECTED]:~/test> php -v
PHP 5.0.0RC1-dev (cli) (built: Feb 4 2004 17:26:46)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v2.0.0-dev, Copyright (c) 1998-2004 Zend Technologies
[EMAIL PROTECTED]:~/test> php gg.php
PHP Fatal error: Class FubarProblem must implement interface
Traversable as part of either Iterator or IteratorAggregate in Unknown
on line 0
------------------------------------------------------------------------
[2004-01-28 08:51:04] [EMAIL PROTECTED]
Description:
------------
See the code attached :
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.
Reproduce 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(){}
}
?>
Actual result:
--------------
PHP Fatal error: Class FubarProblem must implement interface
Traversable as
part of either Iterator or IteratorAggregate in Unknown on line 0
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27073&edit=1