summaryrefslogtreecommitdiff
path: root/ext/spl/examples/directorygraphiterator.inc
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/examples/directorygraphiterator.inc')
-rw-r--r--ext/spl/examples/directorygraphiterator.inc34
1 files changed, 34 insertions, 0 deletions
diff --git a/ext/spl/examples/directorygraphiterator.inc b/ext/spl/examples/directorygraphiterator.inc
new file mode 100644
index 0000000..5808e3b
--- /dev/null
+++ b/ext/spl/examples/directorygraphiterator.inc
@@ -0,0 +1,34 @@
+<?php
+
+/** @file directorygraphiterator.inc
+ * @ingroup Examples
+ * @brief class DirectoryGraphIterator
+ * @author Marcus Boerger
+ * @date 2003 - 2005
+ *
+ * SPL - Standard PHP Library
+ */
+
+/** @ingroup Examples
+ * @brief A tree iterator that only shows directories.
+ * @author Marcus Boerger
+ * @version 1.1
+ */
+class DirectoryGraphIterator extends DirectoryTreeIterator
+{
+ function __construct($path)
+ {
+ RecursiveIteratorIterator::__construct(
+ new RecursiveCachingIterator(
+ new ParentIterator(
+ new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::KEY_AS_FILENAME
+ )
+ ),
+ CachingIterator::CALL_TOSTRING|CachingIterator::CATCH_GET_CHILD
+ ),
+ parent::SELF_FIRST
+ );
+ }
+}
+
+?> \ No newline at end of file