reference/spl/splqueue.xml
14767af0f05dffa6fdb9b49e1a1f4e9ca7022a60
...
...
@@ -10,7 +10,8 @@
10
10
<section xml:id="splqueue.intro">
11
11
&reftitle.intro;
12
12
<para>
13
-
The SplQueue class provides the main functionalities of a queue implemented using a doubly linked list.
13
+
The SplQueue class provides the main functionalities of a queue implemented using a doubly linked list by
14
+
setting the iterator mode to <constant>SplDoublyLinkedList::IT_MODE_FIFO</constant>.
14
15
</para>
15
16
</section>
16
17
<!-- }}} -->
...
...
@@ -19,39 +20,33 @@
19
20
&reftitle.classsynopsis;
20
21
21
22
<!-- {{{ Synopsis -->
22
-
<classsynopsis>
23
+
<classsynopsis class="class">
23
24
<ooclass>
24
25
<classname>SplQueue</classname>
25
26
</ooclass>
26
27

27
-
<classsynopsisinfo>
28
-
<ooclass>
29
-
<classname>SplQueue</classname>
30
-
</ooclass>
31
-

32
-
<ooclass>
33
-
<modifier>extends</modifier>
34
-
<classname>SplDoublyLinkedList</classname>
35
-
</ooclass>
36
-
</classsynopsisinfo>
28
+
<ooclass>
29
+
<modifier>extends</modifier>
30
+
<classname>SplDoublyLinkedList</classname>
31
+
</ooclass>
37
32

38
-
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
39
-
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.splstack')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[not(@role='procedural')])">
33
+
<classsynopsisinfo role="comment">&InheritedConstants;</classsynopsisinfo>
34
+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.spldoublylinkedlist')/db:partintro/db:section/db:classsynopsis/db:fieldsynopsis[preceding-sibling::db:classsynopsisinfo[1][@role='comment' and text()='&Constants;']]))">
40
35
<xi:fallback/>
41
36
</xi:include>
42
-
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.splqueue')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])">
37
+

38
+
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
39
+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.splqueue')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='SplQueue'])">
43
40
<xi:fallback/>
44
41
</xi:include>
45
42

46
43
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
47
-
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.spldoublylinkedlist')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])">
44
+
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.spldoublylinkedlist')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='SplDoublyLinkedList'])">
48
45
<xi:fallback/>
49
46
</xi:include>
50
47
</classsynopsis>
51
-
52
48
</section>
53
49

54
-

55
50
<!-- {{{ splqueue properties
56
51
<section xml:id="splqueue.props">
57
52
&reftitle.properties;
...
...
@@ -66,6 +61,54 @@
66
61
</section>
67
62
}}} -->
68
63

64
+
<section role="examples">
65
+
&reftitle.examples;
66
+
<para>
67
+
<example>
68
+
<title><classname>SplQueue</classname> example</title>
69
+
<programlisting role="php">
70
+
<![CDATA[
71
+
<?php
72
+
$q = new SplQueue();
73
+
$q[] = 1;
74
+
$q[] = 2;
75
+
$q[] = 3;
76
+
foreach ($q as $elem) {
77
+
echo $elem."\n";
78
+
}
79
+
?>
80
+
]]>
81
+
</programlisting>
82
+
&example.outputs;
83
+
<screen>
84
+
<![CDATA[
85
+
1
86
+
2
87
+
3
88
+
]]>
89
+
</screen>
90
+
</example>
91
+
<example>
92
+
<title>Efficiently handling tasks with <classname>SplQueue</classname></title>
93
+
<programlisting role="php">
94
+
<![CDATA[
95
+
<?php
96
+
$q = new SplQueue();
97
+
$q->setIteratorMode(SplQueue::IT_MODE_DELETE);
98
+
// ... enqueue some tasks on the queue ...
99
+
// process them
100
+
foreach ($q as $task) {
101
+
// ... process $task ...
102
+
// add new tasks on the queue
103
+
$q[] = $newTask;
104
+
// ...
105
+
}
106
+
?>
107
+
]]>
108
+
</programlisting>
109
+
</example>
110
+
</para>
111
+
</section>
69
112
</partintro>
70
113

71
114
&reference.spl.entities.splqueue;
72
115