Bug #60161 [Opn]: Implementing an interface extending Traversable is order dependent
Edit report at https://bugs.php.net/bug.php?id=60161&edit=1
ID: 60161
Updated by: johannes@php.net
Reported by: nikic@php.net
Summary: Implementing an interface extending Traversable is
order dependent
Status: Open
Type: Bug
Package: Scripting Engine problem
PHP Version: 5.4.0beta2
Block user comment: N
Private report: N
New Comment:
Actually we should forbid extending Traversable. This should only only only be used by internal
classes (Iterator, iteratorAggregate or classes providing the C get_iterator hooks)
Previous Comments:
------------------------------------------------------------------------
[2011-10-28 18:45:18] nikic@php.net
Description:
------------
When implementing an interface which extends Traversable together with one of the concrete
Traversable implementations (i.e. Iterator or IteratorAggregate) the latter must be named first in
order to not throw an error.
Compare:
http://codepad.viper-7.com/OJt8XN
http://codepad.viper-7.com/1AnU5Z
Responsible code:
http://lxr.php.net/xref/PHP_5_4/Zend/zend_interfaces.c#zend_implement_traversable
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=60161&edit=1
Thread (9 messages)