- Improve SplFileInfo:
. add function getFilename()
. add function getPath()
-Improve RecursiveTreeIterator
. add const BYPASS_CURRENT to bypass current instead of getting its
string representation
. make key() return the parent key() which calls inner iterators key()
- Improve RecursiveDirectoryIterator
. add consts CURRENT_AS_FILEINFO, KEY_AS_FILENAME, NEW_CURRENT_AND_KEY
. make current() return getFilename() or getFileInfo() depending on flags
. make key() return getPathname() or getFilename() depending on flags
- Improve DirectoryIterator
. make __construct() accept flags as second parameter
- Update docu
- Add ability to control iterator class of ArrayObject
- Implement option to make CachingIterator cache all read elements
- Implement ArrayAccess to CachingIterator to access cached elements
- Update docu
- Update tests
# This class starts naming of new classes in Spl by prefix Spl as dicussed.
# The class reduces object storage complexity from O(n) to O(1) which is
# not possible in user space.
- Derive ParentIterator from RecursiveIterator
# Actually brought up by a user. It is of course better to filter first and
# do the recursion only for accepted values. Otherwise you would iterate
# children and possibly recurse into them just to ignore them later anyway.
# update documentation
#
# In 5.2 we need to implement an event handler onException() to be invoked
# on exceptions during getChildren() calls. Its default implementation
# would simply rethrow the exception if the flag is not set and delete if
# if it was set. To do so the exceptions refcount needs to be increased
# before calling zend_clear_exception() to keep the exception alive but
# clear the control information.
#
# As a side note this is alos the easy solution to allow multi exception
# handling: Simply clear the engine's exception info and add a property
# called $previousException to the base exception and assign it from the
# already pending one.