php-src/ext/spl
2004-10-30 19:12:14 +00:00
..
examples - Implement OuterIterator in C 2004-10-29 20:12:57 +00:00
internal - Update docu 2004-10-29 20:58:58 +00:00
tests - Added iterator_to_array() and iterator_count() 2004-10-07 23:08:19 +00:00
config.m4 Implement extension load-order deps. 2004-07-18 12:03:51 +00:00
config.w32 Prevent shared builds under windows too 2004-01-20 19:49:21 +00:00
CREDITS Add spl extension 2003-05-01 23:28:28 +00:00
doxygen.cfg - Documentation update 2004-05-10 17:26:03 +00:00
package.xml Add spl_sxe to prackage 2004-01-19 08:32:58 +00:00
php_spl.c - Implement OuterIterator in C 2004-10-29 20:12:57 +00:00
php_spl.h Update copyright 2004-01-08 18:17:39 +00:00
README Update 2004-03-09 17:47:28 +00:00
spl_array.c - Rename delete_global_variable() to zend_delete_global_variable() 2004-10-04 20:17:06 +00:00
spl_array.h Add cvs tags 2004-01-20 20:59:45 +00:00
spl_directory.c WS (ups) 2004-10-30 14:34:43 +00:00
spl_directory.h Add cvs tags 2004-01-20 20:59:45 +00:00
spl_engine.c Update copyright 2004-01-08 18:17:39 +00:00
spl_engine.h Add cvs tags 2004-01-20 20:59:45 +00:00
spl_functions.c Clearify the different method/class flags (as discussed with Andi). 2004-03-09 16:38:37 +00:00
spl_functions.h - CS: Use PHP_* instead of ZEND_* macros 2004-09-30 08:04:29 +00:00
spl_iterators.c - Fix inner iterator aggregation 2004-10-30 19:12:14 +00:00
spl_iterators.h - Implement OuterIterator in C 2004-10-29 20:12:57 +00:00
spl_sxe.c Rename hasMore() to valid() as discussed. (Part I) 2004-03-08 17:33:31 +00:00
spl_sxe.h Add cvs tags 2004-01-20 20:59:45 +00:00
spl.php Fugbix typo. 2004-10-01 10:35:26 +00:00
TODO Update 2003-12-04 17:45:36 +00:00

This is an extension that aims to implement some efficient data access 
interfaces and classes. You'll find the classes documented using php
code in the file spl.php or in the corresponding .inc file in the examples
subdirectory. Based on the internal implementations or the files in the 
examples subdirectory there are also some .php files to experiment with.

The .inc files are not included automatically because they are sooner or 
later integrated into the extension. That means that you either need to 
put the code of examples/autoload into your autoprepend file or that you
have to point your ini setting auto_prepend_file to this file.

Below is a list of interfaces/classes already availabel natively through
the SPL extension grouped by category. For more information refer to the 
docuement spl.php.

1) Iterators

SPL offers some advanced iterator algorithms:

interface RecursiveIterator implements Iterator
class RecursiveIteratorIterator implements Iterator
abstract class FilterIterator implements Iterator
class ParentIterator extends FilterIterator implements RecursiveIterator
interface SeekableIterator implements Iterator
class LimitIterator implements Iterator
class CachingIterator implements Iterator
class CachingRecursiveIterator extends CachingIterator implements RecursiveIterator

2) Directories

SPL offers two advanced directory classes:

class DirectoryIterator implements Iterator
class RecursiveDirectoryIterator extends DirectoryIterator implements RecursiveIterator

3) XML

SPL offers an advanced XML handling class:

class SimpleXMLIterator extends simplexml_element extends recursiveiterator

4) Array Overloading

SPL offers advanced Array overloading:

class ArrayObject implements IteratorAggregate
class ArrayIterator implements Iterator

As the above suggest an ArrayObject creates an ArrayIterator when it comes to
iteration (e.g. ArrayObject instance used inside foreach).