-
Notifications
You must be signed in to change notification settings - Fork 146
/
callbackfilteriterator.xml
139 lines (119 loc) · 4.31 KB
/
callbackfilteriterator.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 14767af0f05dffa6fdb9b49e1a1f4e9ca7022a60 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<reference xml:id="class.callbackfilteriterator" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>La classe CallbackFilterIterator</title>
<titleabbrev>CallbackFilterIterator</titleabbrev>
<partintro>
<!-- {{{ CallbackFilterIterator intro -->
<section xml:id="callbackfilteriterator.intro">
&reftitle.intro;
<para>
</para>
</section>
<!-- }}} -->
<section xml:id="callbackfilteriterator.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis class="class">
<ooclass>
<classname>CallbackFilterIterator</classname>
</ooclass>
<ooclass>
<modifier>extends</modifier>
<classname>FilterIterator</classname>
</ooclass>
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.callbackfilteriterator')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[@role='CallbackFilterIterator'])">
<xi:fallback/>
</xi:include>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.callbackfilteriterator')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='CallbackFilterIterator'])">
<xi:fallback/>
</xi:include>
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.filteriterator')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='FilterIterator'])">
<xi:fallback/>
</xi:include>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.iteratoriterator')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='IteratorIterator'])">
<xi:fallback/>
</xi:include>
</classsynopsis>
<!-- }}} -->
</section>
<!-- {{{ examples -->
<section xml:id="callbackfilteriterator.examples">
&reftitle.examples;
<para>
La fonction de rappel doit accepter jusqu'à trois arguments :
l'élément courant, la clé courante et l'itérateur courant, respectivement.
</para>
<example xml:id="callbackfilteriterator.examples.args">
<title>Arguments disponibles pour la fonction de rappel</title>
<programlisting role="php">
<![CDATA[
<?php
/**
* Fonction de rappel pour CallbackFilterIterator
*
* @param $current Valeur de l'élément courant
* @param $key Clé de l'élément courant
* @param $iterator Itérateur à filtrer
* @return boolean TRUE pour accepter l'élément courant, FALSE sinon
*/
function my_callback($current, $key, $iterator) {
// Votre filtre ici
}
?>
]]>
</programlisting>
</example>
<para>
N'importe quel <type>callable</type> peut être utilisé ; comme
une &string; contenant un nom de fonction, un tableau pour une
méthode, ou une fonction anonyme.
</para>
<example xml:id="callbackfilteriterator.examples.basic">
<title>Exemples simples de fonction de rappel</title>
<programlisting role="php">
<![CDATA[
<?php
$dir = new FilesystemIterator(__DIR__);
// Filtre les gros fichiers ( > 100MB)
function is_large_file($current) {
return $current->isFile() && $current->getSize() > 104857600;
}
$large_files = new CallbackFilterIterator($dir, 'is_large_file');
// Filtre les dossiers
$files = new CallbackFilterIterator($dir, function ($current, $key, $iterator) {
return $current->isDir() && ! $iterator->isDot();
});
?>
]]>
</programlisting>
</example>
</section>
<!-- }}} -->
</partintro>
&reference.spl.entities.callbackfilteriterator;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->