Doc #51895 [Asn->Fbk]: SPL RecursiveDirectoryIteratory Flags documentation

From: Date: Tue, 25 May 2010 05:39:32 +0000
Subject: Doc #51895 [Asn->Fbk]: SPL RecursiveDirectoryIteratory Flags documentation
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-4438@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=51895&edit=1 ID: 51895 Updated by: dtajchreber@php.net Reported by: therandshow at gmail dot com Summary: SPL RecursiveDirectoryIteratory Flags documentation -Status: Assigned +Status: Feedback Type: Documentation Problem Package: Documentation problem Operating System: Fedora Linux PHP Version: 5.3.2 Assigned To: salathe New Comment: 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. Previous Comments: ------------------------------------------------------------------------ [2010-05-24 22:37:26] therandshow at gmail dot com Thanks for pointing out the FilesystemIterator constants, but then one clear issue then is the RecursiveDirectoryIterator's documentation does not say that it extends FilesystemIterator. The class documentation says: " RecursiveDirectoryIterator extends DirectoryIterator implements Traversable , Iterator , RecursiveIterator" None of which extend FilesystemIterator. (Though as you pointed out, even as this was the case, the documentation would be incomplete, as it ought then include an "inherited from FilesytemIterator" section ------------------------------------------------------------------------ [2010-05-24 01:26:15] salathe@php.net The RecursiveDirectoryIterator extends from FilesystemIterator and all of those constants are inherited from it. The docs for the FilesystemIterator constants [1] should give insight into what they are to be used for (they are brief but better than nothing). I'll leave this bug open as a reminder to update the RecursiveDirectoryIterator skeleton documentation with something more substantial. [1] http://php.net/class.filesystemiterator#filesystemiterator.constants ------------------------------------------------------------------------ [2010-05-24 00:07:54] therandshow at gmail dot com Description: ------------ While understand that much of the SPL extension is undocumented, it occurs to me that there's a simple piece of documentation that could be added. On this page: http://us.php.net/manual/en/recursivedirectoryiterator.construct.php it refers to "flags" without telling what options there are for flags. Now it is documented here that there are flags defined as recursive iterator class constants http://us.php.net/manual/en/spl.constants.php , but I guessed that was unlikely to be all the flags possible. Thus I used the ReflectionClass to get all of RecursiveDirectoryIterator's class constants and got this array: array(11) { ["CURRENT_MODE_MASK"]=> int(240) ["CURRENT_AS_PATHNAME"]=> int(32) ["CURRENT_AS_FILEINFO"]=> int(0) ["CURRENT_AS_SELF"]=> int(16) ["KEY_MODE_MASK"]=> int(3840) ["KEY_AS_PATHNAME"]=> int(0) ["FOLLOW_SYMLINKS"]=> int(512) ["KEY_AS_FILENAME"]=> int(256) ["NEW_CURRENT_AND_KEY"]=> int(256) ["SKIP_DOTS"]=> int(4096) ["UNIX_PATHS"]=> int(8192) } Test script: --------------- $reflector = new ReflectionClass('RecursiveDirectoryIterator'); var_dump($reflector->getConstants()); Expected result: ---------------- array(11) { ["CURRENT_MODE_MASK"]=> int(240) ["CURRENT_AS_PATHNAME"]=> int(32) ["CURRENT_AS_FILEINFO"]=> int(0) ["CURRENT_AS_SELF"]=> int(16) ["KEY_MODE_MASK"]=> int(3840) ["KEY_AS_PATHNAME"]=> int(0) ["FOLLOW_SYMLINKS"]=> int(512) ["KEY_AS_FILENAME"]=> int(256) ["NEW_CURRENT_AND_KEY"]=> int(256) ["SKIP_DOTS"]=> int(4096) ["UNIX_PATHS"]=> int(8192) } Actual result: -------------- array(11) { ["CURRENT_MODE_MASK"]=> int(240) ["CURRENT_AS_PATHNAME"]=> int(32) ["CURRENT_AS_FILEINFO"]=> int(0) ["CURRENT_AS_SELF"]=> int(16) ["KEY_MODE_MASK"]=> int(3840) ["KEY_AS_PATHNAME"]=> int(0) ["FOLLOW_SYMLINKS"]=> int(512) ["KEY_AS_FILENAME"]=> int(256) ["NEW_CURRENT_AND_KEY"]=> int(256) ["SKIP_DOTS"]=> int(4096) ["UNIX_PATHS"]=> int(8192) } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=51895&edit=1

« previous php.doc.bugs (#4438) next »