SPL is a set of interfaces and classes that are used to solve typical problems (standard problems).
This extension can only be used after PHP 5.0 and is no longer closed from PHP 5.3.0, and will remain valid as part of the PHP kernel component.
Data
SPL provides a standard set of data structures.
Doubly linked list
A doubly linked list (DLL) is a list of nodes linked in both directions to each others. Iterator ' s operations, access to both ends, addition or removal of nodes has a cost of O (1) when the underlying structure is a DLL. It Hence provides a decent implementation for stacks and queues.
Spldoublylinkedlist
Splstack
Splqueue
Heap
Heaps was tree-like structures that follow the Heap-property:each node was greater than or equal to their children when COM Pared using the implemented compare method which is global to the heap.
Splheap
Splmaxheap
Splminheap
Splpriorityqueue
Array
Arrays is structures that store the data in a continuous, accessible via indexes. Don ' t confuse them with PHP arrays:php arrays is in fact implemented as ordered Hashtables.
Splfixedarray
Mapping
A map is a datastructure holding key-value pairs. PHP arrays can seen as maps from integers/strings to values. SPL provides a map from objects to data. This map can also is used as an object set.
Splobjectstorage
Iterators
SPL provides a series of iterators to traverse different objects.
Arrayiterator
Recursivearrayiterator
Emptyiterator
Iteratoriterator
Callbackfilteriterator
Recursivefilteriterator
Regexiterator
Recursivecallbackfilteriterator
Parentiterator
Recursiveregexiterator
Recursivecachingiterator
Appenditerator
Cachingiterator
Filteriterator
Infiniteiterator
Limititerator
Norewinditerator
Multipleiterator
Recursiveiteratoriterator
Recursivetreeiterator
Directoryiterator (extends Splfileinfo)
Globiterator
Recursivedirectoryiterator
Filesystemiterator
Interface
SPL provides a range of interfaces.
Countable
Outeriterator
Recursiveiterator
Seekableiterator
Splobserver
Splsubject
Abnormal
SPL provides a range of standard exceptions.
Logicexception (extends Exception)
Badmethodcallexception
Badfunctioncallexception
Domainexception
InvalidArgumentException
Lengthexception
Outofrangeexception
RuntimeException (extends Exception)
OutOfBoundsException
OverflowException
Rangeexception
Underflowexception
Unexpectedvalueexception
SPL function
class_implements-returns all interfaces implemented by the specified class.
class_parents-returns the parent class of the specified class.
Class_uses-return the traits used by the given class
iterator_apply-calls a user-defined function for each element in the iterator
iterator_count-calculating the number of elements in an iterator
iterator_to_array-copying elements from an iterator to an array
Spl_autoload_call-attempts to call all registered __autoload () functions to load the request class
Spl_autoload_extensions-registers and returns the default file name extension used by the Spl_autoload function.
spl_autoload_functions-returns all registered __autoload () functions.
spl_autoload_register-Register __autoload () function
spl_autoload_unregister-Unregister a registered __autoload () function
Default implementation of the Spl_autoload-__autoload () function
spl_classes-return all available SPL classes
spl_object_hash-returns the hash ID of the specified object
File processing
SPL provides some file-related classes.
Splfileinfo
Splfileobject
Spltempfileobject
Other classes and interfaces
Arrayobject
Splobserver
Splsubject