Skip to content

Commit 32caa89

Browse files
kocsismatecmb69
andauthored
PHP 8.4: Document StreamBucket (#4297)
Co-authored-by: Christoph M. Becker <[email protected]>
1 parent f6678a7 commit 32caa89

7 files changed

+210
-33
lines changed

language-snippets.ent

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2677,6 +2677,9 @@ objects. Otherwise, a <classname>PharException</classname> will be thrown.</par
26772677
<varname linkend="streamwrapper.props.context">streamWrapper::$context</varname>
26782678
property is updated if a valid context is passed to the caller function.</para></note>'>
26792679

2680+
<!ENTITY stream.bucket.param '<parameter>bucket</parameter> expects a <classname>StreamBucket</classname> instance now; previously, an <classname>stdClass</classname> was expected.'>
2681+
<!ENTITY stream.bucket.return 'This function returns a <classname>StreamBucket</classname> instance now; previously, an <classname>stdClass</classname> was returned.'>
2682+
26802683
<!-- Gmagick -->
26812684
<!ENTITY gmagick.return.success 'Returns &true; on success.'>
26822685
<!ENTITY gmagick.gmagickexception.throw 'Throws an

reference/stream/functions/stream-bucket-append.xml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,34 @@
1313
<methodsynopsis>
1414
<type>void</type><methodname>stream_bucket_append</methodname>
1515
<methodparam><type>resource</type><parameter>brigade</parameter></methodparam>
16-
<methodparam><type>object</type><parameter>bucket</parameter></methodparam>
16+
<methodparam><type>StreamBucket</type><parameter>bucket</parameter></methodparam>
1717
</methodsynopsis>
1818

1919
&warn.undocumented.func;
2020

2121
</refsect1>
2222

23-
</refentry>
23+
<refsect1 role="changelog">
24+
&reftitle.changelog;
25+
<informaltable>
26+
<tgroup cols="2">
27+
<thead>
28+
<row>
29+
<entry>&Version;</entry>
30+
<entry>&Description;</entry>
31+
</row>
32+
</thead>
33+
<tbody>
34+
<row>
35+
<entry>8.4.0</entry>
36+
<entry>&stream.bucket.param;</entry>
37+
</row>
38+
</tbody>
39+
</tgroup>
40+
</informaltable>
41+
</refsect1>
2442

43+
</refentry>
2544
<!-- Keep this comment at the end of the file
2645
Local variables:
2746
mode: sgml

reference/stream/functions/stream-bucket-make-writeable.xml

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<refsect1 role="description">
1313
&reftitle.description;
1414
<methodsynopsis>
15-
<type class="union"><type>object</type><type>null</type></type><methodname>stream_bucket_make_writeable</methodname>
15+
<type class="union"><type>StreamBucket</type><type>null</type></type><methodname>stream_bucket_make_writeable</methodname>
1616
<methodparam><type>resource</type><parameter>brigade</parameter></methodparam>
1717
</methodsynopsis>
1818
<para>
@@ -40,34 +40,30 @@
4040
<refsect1 role="returnvalues">
4141
&reftitle.returnvalues;
4242
<para>
43-
Returns a bucket object with the properties listed below or &null;.
44-
<variablelist>
45-
<varlistentry>
46-
<term>
47-
<property>data</property>
48-
(<type>string</type>)
49-
</term>
50-
<listitem>
51-
<para>
52-
<parameter>data</parameter> <literal>bucket</literal> The current string in the bucket.
53-
</para>
54-
</listitem>
55-
</varlistentry>
56-
<varlistentry>
57-
<term>
58-
<property>datalen</property>
59-
(<type>integer</type>)
60-
</term>
61-
<listitem>
62-
<para>
63-
<parameter>datalen</parameter> <literal>bucket</literal> The length of the string in the bucket.
64-
</para>
65-
</listitem>
66-
</varlistentry>
67-
</variablelist>
43+
Returns a bucket object or &null;.
6844
</para>
6945
</refsect1>
7046

47+
<refsect1 role="changelog">
48+
&reftitle.changelog;
49+
<informaltable>
50+
<tgroup cols="2">
51+
<thead>
52+
<row>
53+
<entry>&Version;</entry>
54+
<entry>&Description;</entry>
55+
</row>
56+
</thead>
57+
<tbody>
58+
<row>
59+
<entry>8.4.0</entry>
60+
<entry>&stream.bucket.return;</entry>
61+
</row>
62+
</tbody>
63+
</tgroup>
64+
</informaltable>
65+
</refsect1>
66+
7167
<refsect1 role="seealso">
7268
&reftitle.seealso;
7369
<para>
@@ -78,7 +74,6 @@
7874
</para>
7975
</refsect1>
8076
</refentry>
81-
8277
<!-- Keep this comment at the end of the file
8378
Local variables:
8479
mode: sgml

reference/stream/functions/stream-bucket-new.xml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<refsect1 role="description">
1212
&reftitle.description;
1313
<methodsynopsis>
14-
<type>object</type><methodname>stream_bucket_new</methodname>
14+
<type>StreamBucket</type><methodname>stream_bucket_new</methodname>
1515
<methodparam><type>resource</type><parameter>stream</parameter></methodparam>
1616
<methodparam><type>string</type><parameter>buffer</parameter></methodparam>
1717
</methodsynopsis>
@@ -20,8 +20,27 @@
2020

2121
</refsect1>
2222

23-
</refentry>
23+
<refsect1 role="changelog">
24+
&reftitle.changelog;
25+
<informaltable>
26+
<tgroup cols="2">
27+
<thead>
28+
<row>
29+
<entry>&Version;</entry>
30+
<entry>&Description;</entry>
31+
</row>
32+
</thead>
33+
<tbody>
34+
<row>
35+
<entry>8.4.0</entry>
36+
<entry>&stream.bucket.return;</entry>
37+
</row>
38+
</tbody>
39+
</tgroup>
40+
</informaltable>
41+
</refsect1>
2442

43+
</refentry>
2544
<!-- Keep this comment at the end of the file
2645
Local variables:
2746
mode: sgml

reference/stream/functions/stream-bucket-prepend.xml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<methodsynopsis>
1414
<type>void</type><methodname>stream_bucket_prepend</methodname>
1515
<methodparam><type>resource</type><parameter>brigade</parameter></methodparam>
16-
<methodparam><type>object</type><parameter>bucket</parameter></methodparam>
16+
<methodparam><type>StreamBucket</type><parameter>bucket</parameter></methodparam>
1717
</methodsynopsis>
1818
<para>
1919
This function can be called to prepend a bucket to a bucket brigade. It
@@ -50,6 +50,26 @@
5050
</para>
5151
</refsect1>
5252

53+
<refsect1 role="changelog">
54+
&reftitle.changelog;
55+
<informaltable>
56+
<tgroup cols="2">
57+
<thead>
58+
<row>
59+
<entry>&Version;</entry>
60+
<entry>&Description;</entry>
61+
</row>
62+
</thead>
63+
<tbody>
64+
<row>
65+
<entry>8.4.0</entry>
66+
<entry>&stream.bucket.param;</entry>
67+
</row>
68+
</tbody>
69+
</tgroup>
70+
</informaltable>
71+
</refsect1>
72+
5373
<refsect1 role="examples">
5474
&reftitle.examples;
5575
<para>
@@ -81,7 +101,6 @@ print file_get_contents('php://filter/read=test/resource=foo');
81101
</para>
82102
</refsect1>
83103
</refentry>
84-
85104
<!-- Keep this comment at the end of the file
86105
Local variables:
87106
mode: sgml

reference/stream/streambucket.xml

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- $Revision$ -->
3+
<reference xml:id="class.streambucket" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
4+
5+
<title>The StreamBucket class</title>
6+
<titleabbrev>StreamBucket</titleabbrev>
7+
8+
<partintro>
9+
10+
<section xml:id="streambucket.intro">
11+
&reftitle.intro;
12+
<simpara>
13+
A stream bucket is a chunk of a stream which can be extracted from bucket brigades.
14+
</simpara>
15+
</section>
16+
17+
<section xml:id="streambucket.synopsis">
18+
&reftitle.classsynopsis;
19+
20+
<classsynopsis class="class">
21+
<ooclass>
22+
<modifier>final</modifier>
23+
<classname>StreamBucket</classname>
24+
</ooclass>
25+
26+
<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>
27+
<fieldsynopsis>
28+
<modifier>public</modifier>
29+
<modifier>readonly</modifier>
30+
<type>resource</type>
31+
<varname linkend="streambucket.props.bucket">bucket</varname>
32+
</fieldsynopsis>
33+
<fieldsynopsis>
34+
<modifier>public</modifier>
35+
<modifier>readonly</modifier>
36+
<type>string</type>
37+
<varname linkend="streambucket.props.data">data</varname>
38+
</fieldsynopsis>
39+
<fieldsynopsis>
40+
<modifier>public</modifier>
41+
<modifier>readonly</modifier>
42+
<type>int</type>
43+
<varname linkend="streambucket.props.datalen">datalen</varname>
44+
</fieldsynopsis>
45+
<fieldsynopsis>
46+
<modifier>public</modifier>
47+
<modifier>readonly</modifier>
48+
<type>int</type>
49+
<varname linkend="streambucket.props.datalength">dataLength</varname>
50+
</fieldsynopsis>
51+
</classsynopsis>
52+
</section>
53+
54+
<section xml:id="streambucket.props">
55+
&reftitle.properties;
56+
<variablelist>
57+
<varlistentry xml:id="streambucket.props.bucket">
58+
<term>resource <varname>bucket</varname></term>
59+
<listitem>
60+
<simparapara>A <literal>userfilter.bucket</literal> resource.</simparapara>
61+
</listitem>
62+
</varlistentry>
63+
<varlistentry xml:id="streambucket.props.data">
64+
<term>string <varname>data</varname></term>
65+
<listitem>
66+
<simparapara>The current string in the bucket.</simparapara>
67+
</listitem>
68+
</varlistentry>
69+
<varlistentry xml:id="streambucket.props.datalen">
70+
<term>int <varname>datalen</varname></term>
71+
<listitem>
72+
<simparapara>
73+
The length of the string in the bucket.
74+
Deprecated as of PHP 8.4 in favor of <literal>StreamBucket::$dataLength</literal>.
75+
</simparapara>
76+
</listitem>
77+
</varlistentry>
78+
<varlistentry xml:id="streambucket.props.dataLength">
79+
<term>int <varname>dataLength</varname></term>
80+
<listitem>
81+
<simparapara>The length of the string in the bucket.</simparapara>
82+
</listitem>
83+
</varlistentry>
84+
</variablelist>
85+
</section>
86+
87+
<section role="seealso">
88+
&reftitle.seealso;
89+
<simplelist>
90+
<member><function>stream_bucket_new</function></member>
91+
<member><function>stream_bucket_append</function></member>
92+
<member><function>stream_bucket_prepend</function></member>
93+
<member><function>stream_bucket_make_writeable</function></member>
94+
</simplelist>
95+
</section>
96+
97+
</partintro>
98+
99+
&reference.stream.entities.streambucket;
100+
101+
</reference>
102+
<!-- Keep this comment at the end of the file
103+
Local variables:
104+
mode: sgml
105+
sgml-omittag:t
106+
sgml-shorttag:t
107+
sgml-minimize-attributes:nil
108+
sgml-always-quote-attributes:t
109+
sgml-indent-step:1
110+
sgml-indent-data:t
111+
indent-tabs-mode:nil
112+
sgml-parent-document:nil
113+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
114+
sgml-exposed-tags:nil
115+
sgml-local-catalogs:nil
116+
sgml-local-ecat-files:nil
117+
End:
118+
vim600: syn=xml fen fdm=syntax fdl=2 si
119+
vim: et tw=78 syn=sgml
120+
vi: ts=1 sw=1
121+
-->

reference/stream/versions.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
Do NOT translate this file
55
-->
66
<versions>
7+
<function name="streambucket" from="PHP 8 &gt;= 8.4.0"/>
78
<function name="stream_bucket_append" from="PHP 5, PHP 7, PHP 8"/>
89
<function name="stream_bucket_make_writeable" from="PHP 5, PHP 7, PHP 8"/>
910
<function name="stream_bucket_new" from="PHP 5, PHP 7, PHP 8"/>

0 commit comments

Comments
 (0)