Edit report at https://bugs.php.net/bug.php?id=55300&edit=1
ID: 55300
Updated by: cataphract@php.net
Reported by: frederic dot hardy at mageekbox dot net
Summary: \DirectoryIterator, parent::__construct() and
\LogicException
-Status: Assigned
+Status: Closed
Type: Bug
Package: SPL related
Operating System: Linux
PHP Version: 5.4.0alpha2
Assigned To: cataphract
Block user comment: N
Private report: N
New Comment:
Replaced with 5.3 code.
Previous Comments:
------------------------------------------------------------------------
[2011-10-29 23:17:16] cataphract@php.net
Automatic comment from SVN on behalf of cataphract
Revision: http://svn.php.net/viewvc/?view=revision&revision=318566
Log: - Reverted changes that required constructor overrides to invoke the parent
constructor in several SPL classes and applied 5.3 fixes instead.
Related bugs: #54384, #55175 and #55300
------------------------------------------------------------------------
[2011-09-14 15:38:41] frederic dot hardy at mageekbox dot net
\Phar has the same problem, because this class extends \recursiveDirectoryIterator.
And stream wrapper can not be used with it because "Phar objects can only be created from local
files".
------------------------------------------------------------------------
[2011-09-02 20:03:27] krossekrabbe at gmail dot com
No, it's not only a BC break. It's exactly the same, it is not possible to extend
the class. Not when calling parent::__construct(), nor when not overriding
__construct() at all.
------------------------------------------------------------------------
[2011-08-09 08:52:19] cataphract@php.net
I wouldn't consider these duplicates. #55175 is an actual problem, this is simply an intended
BC break that turned out to have a larger impact than I expected. I'll take care of both not
after the beginning of next week.
------------------------------------------------------------------------
[2011-08-09 08:46:37] seld@php.net
Actually according to my test case in https://bugs.php.net/bug.php?id=55175 - it's
even happening if you don't redefine the constructor at all. It prevents extending the class
altogether, which makes no sense to me.
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=55300--
Edit this bug report at https://bugs.php.net/bug.php?id=55300&edit=1