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 ecf8650a36 Autoload class as long as needed 23 years ago
..
examples Autoload class as long as needed 23 years ago
tests - ArrayObject::append() must not be called when it refers to an object 23 years ago
CREDITS Add spl extension 24 years ago
README Update 23 years ago
TODO Update 23 years ago
config.m4 ws 23 years ago
config.w32 Prevent shared builds under windows too 23 years ago
package.xml Add spl_sxe to prackage 23 years ago
php_spl.c SPL is meant to be in uppercase letters, do it now it works 23 years ago
php_spl.h Update copyright 23 years ago
spl.php - Fix protos and add notes to the docs 23 years ago
spl_array.c - Fix protos and add notes to the docs 23 years ago
spl_array.h Add cvs tags 23 years ago
spl_directory.c Rename hasMore() to valid() as discussed. (Part II) 23 years ago
spl_directory.h Add cvs tags 23 years ago
spl_engine.c Update copyright 23 years ago
spl_engine.h Add cvs tags 23 years ago
spl_functions.c Clearify the different method/class flags (as discussed with Andi). 23 years ago
spl_functions.h Fix order of macro parameter (synch with other macros) 23 years ago
spl_iterators.c - Some pretection against out-of-memory situations 23 years ago
spl_iterators.h Rename hasMore() to valid() as discussed. (Part II) 23 years ago
spl_sxe.c Rename hasMore() to valid() as discussed. (Part I) 23 years ago
spl_sxe.h Add cvs tags 23 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).