You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Marcus Boerger c7b2568269 - Docu updates 22 years ago
..
examples - Docu updates 22 years ago
internal - Update examples 22 years ago
tests - ArrayObject::append() must not be called when it refers to an object 22 years ago
CREDITS Add spl extension 23 years ago
README Update 22 years ago
TODO Update 22 years ago
config.m4 ws 22 years ago
config.w32 Prevent shared builds under windows too 22 years ago
package.xml Add spl_sxe to prackage 22 years ago
php_spl.c SPL is meant to be in uppercase letters, do it now it works 22 years ago
php_spl.h Update copyright 22 years ago
spl.php - Update docu 22 years ago
spl_array.c - Fix bug #28309 22 years ago
spl_array.h Add cvs tags 22 years ago
spl_directory.c Rename hasMore() to valid() as discussed. (Part II) 22 years ago
spl_directory.h Add cvs tags 22 years ago
spl_engine.c Update copyright 22 years ago
spl_engine.h Add cvs tags 22 years ago
spl_functions.c Clearify the different method/class flags (as discussed with Andi). 22 years ago
spl_functions.h Fix order of macro parameter (synch with other macros) 22 years ago
spl_iterators.c Add protos 22 years ago
spl_iterators.h Rename hasMore() to valid() as discussed. (Part II) 22 years ago
spl_sxe.c Rename hasMore() to valid() as discussed. (Part I) 22 years ago
spl_sxe.h Add cvs tags 22 years ago

README

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).