diff --git a/language-snippets.ent b/language-snippets.ent
index 5de28b3137d5..26bb4819a0ed 100644
--- a/language-snippets.ent
+++ b/language-snippets.ent
@@ -2721,32 +2721,6 @@ to be references, then they must be references in the passed argument list.'>
'>
-
-Datastructures'>
-
-Exceptions'>
-
- SPL provides a set of standard Exceptions.
-
-
- See also the .
-
-'>
-
-File Handling'>
-SPL provides a number of classes to work with files.'>
-
-Interfaces'>
-SPL provides a set of interfaces.See also the '>
-Interface list'>
-
-Iterators'>
-SPL provides a set of iterators to traverse over objects.'>
-
-Miscellaneous Classes and Interfaces'>
-Classes and interfaces which do not fit into the other SPL categories.'>
-
For maximum portability, it is recommended to always use forward slashes (/) as directory separator in ZIP filenames.'>
diff --git a/reference/spl/book.xml b/reference/spl/book.xml
index fb745962c396..1a8bb9ae5506 100644
--- a/reference/spl/book.xml
+++ b/reference/spl/book.xml
@@ -1,37 +1,31 @@
-
-
+
Standard PHP Library (SPL)
SPL
-
+
&reftitle.intro;
-
- The Standard PHP Library (SPL) is a collection of interfaces and classes that are meant to solve
- common problems.
-
-
- SPL provides a set of standard datastructure, a set of iterators to traverse over objects, a set of interfaces, a set of standard Exceptions, a number of classes to work with files and it provides a set of functions like spl_autoload_register
-
+
+ The Standard PHP Library (SPL) extension defines interfaces and classes
+ that are meant to solve common problems.
+
+
+ The extension provides various datastructures, generic exceptions,
+ iterators, classes to work with filesystems using an object
+ oriented API, and utility functions.
+
- &reference.spl.datastructures;
- &reference.spl.iterators;
&reference.spl.interfaces;
+ &reference.spl.datastructures;
&reference.spl.exceptions;
- &reference.spl.reference;
+ &reference.spl.iterators;
&reference.spl.files;
- &reference.spl.miscellaneous;
-
-
+ &reference.spl.reference;
-
-
diff --git a/reference/spl/datastructures.xml b/reference/spl/datastructures.xml
index bc7a1d16f414..748f4824ffed 100644
--- a/reference/spl/datastructures.xml
+++ b/reference/spl/datastructures.xml
@@ -1,9 +1,7 @@
-
-
-
- &spl.datastructures.intro.title;
+
+ Datastructures
@@ -61,10 +59,17 @@
Arrays
- Arrays are structures that store the data in a continuous way, accessible
- via indexes. Don't confuse them with PHP arrays: PHP arrays are in fact
- implemented as ordered hashtables.
+ Arrays are structures that store the data in a contiguous way,
+ accessible via indexes.
+
+
+ Do not confuse this with PHP's native array type.
+ PHP arrays are in reality ordered hashtables.
+ However, SPL provides the ArrayObject class
+ to wrap PHP arrays into an object.
+
+
@@ -100,12 +105,11 @@
&reference.spl.splpriorityqueue;
&reference.spl.splfixedarray;
+ &reference.spl.arrayobject;
+
&reference.spl.splobjectstorage;
-
-
-
-
diff --git a/reference/spl/exceptions.xml b/reference/spl/exceptions.xml
index c7dbee016c63..3f1de3fb4264 100644
--- a/reference/spl/exceptions.xml
+++ b/reference/spl/exceptions.xml
@@ -1,12 +1,12 @@
-
-
-
- &spl.exceptions.intro.title;
+
+ Exceptions
- &spl.exceptions.intro;
+
+ SPL provides a set of standard Exceptions.
+
SPL Exceptions Class Tree
@@ -39,6 +39,13 @@
+
+ &reftitle.seealso;
+
+
+
+
+
&reference.spl.badfunctioncallexception;
@@ -56,7 +63,6 @@
&reference.spl.unexpectedvalueexception;
-
-
diff --git a/reference/spl/files.xml b/reference/spl/files.xml
index bf70ab641a9d..f72aa764d057 100644
--- a/reference/spl/files.xml
+++ b/reference/spl/files.xml
@@ -1,17 +1,19 @@
+
+ File Handling
-
-
- &spl.files.intro.title;
- &spl.files.intro;
+
+
+ SPL provides a number of classes to work with files.
+
+
&reference.spl.splfileinfo;
&reference.spl.splfileobject;
&reference.spl.spltempfileobject;
-
-
-
-
- &spl.interfaces.intro.title;
+
+ Interfaces
- &spl.interfaces.intro;
+
+ SPL provides a set of interfaces to enhance iterators,
+ and a pair of interfaces to implement the Observer Design Pattern.
+
-
- &spl.interfaces.list;
+
+ &reftitle.seealso;
- OuterIterator
- RecursiveIterator
- SeekableIterator
- SplObserver
- SplSubject
+
@@ -24,15 +21,10 @@
&reference.spl.outeriterator;
&reference.spl.recursiveiterator;
&reference.spl.seekableiterator;
-
-
-
-
-
diff --git a/reference/spl/iterators.xml b/reference/spl/iterators.xml
index 25a4665fa6cd..368ea9b646e2 100644
--- a/reference/spl/iterators.xml
+++ b/reference/spl/iterators.xml
@@ -1,12 +1,12 @@
-
-
-
- &spl.iterators.intro.title;
+
+ Iterators
- &spl.iterators.intro;
+
+ SPL provides a set of iterators to traverse over objects.
+
SPL Iterators Class Tree
@@ -114,10 +114,6 @@
-
-
&reference.spl.appenditerator;
&reference.spl.arrayiterator;
&reference.spl.cachingiterator;
@@ -144,9 +140,6 @@
&reference.spl.regexiterator;
-
-
-
-
diff --git a/reference/spl/miscellaneous.xml b/reference/spl/miscellaneous.xml
deleted file mode 100644
index 1a2855c115aa..000000000000
--- a/reference/spl/miscellaneous.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
- &spl.misc.intro.title;
- &spl.misc.intro;
-
- &reference.spl.arrayobject;
- &reference.spl.splobserver;
- &reference.spl.splsubject;
-
-
-
-
-