mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-16 00:48:54 +00:00
Changes per Wez and addition of stream_get_filters
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@110545 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
parent
4ea211d7e1
commit
4f2c2288d0
3 changed files with 138 additions and 21 deletions
45
reference/stream/functions/stream-get-filters.xml
Normal file
45
reference/stream/functions/stream-get-filters.xml
Normal file
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.1 $ -->
|
||||
<refentry id="function.stream-get-filters">
|
||||
<refnamediv>
|
||||
<refname>stream_get_filters</refname>
|
||||
<refpurpose>Retrieve list of registered filters</refpurpose>
|
||||
</refnamediv>
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
<methodsynopsis>
|
||||
<type>array</type><methodname>stream_get_filters</methodname>
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Returns an indexed array containing the name of all stream filters
|
||||
available on the running system.
|
||||
</para>
|
||||
<para>
|
||||
See Also:
|
||||
<function>stream_register_filter</function>, and
|
||||
<function>stream_get_wrappers</function>
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
<!-- 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:"../../../../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
|
||||
-->
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.1 $ -->
|
||||
<!-- $Revision: 1.2 $ -->
|
||||
<refentry id="function.stream-register-filter">
|
||||
<refnamediv>
|
||||
<refname>stream_register_filter</refname>
|
||||
|
@ -45,6 +45,27 @@
|
|||
so that the next filter in the chain can perform its filter.
|
||||
When no filters remain, the stream will write <parameter>data</parameter>
|
||||
in its final form.
|
||||
<note>
|
||||
<para>
|
||||
If your filter alters the length of <parameter>data</parameter>, for
|
||||
example by removing the first character, before passing onto
|
||||
<literal>parent::write($data);</literal> it must be certain to include
|
||||
that stolen character in the return count.
|
||||
</para>
|
||||
</note>
|
||||
<informalexample>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
class myfilter extends php_user_filter {
|
||||
function write($data) {
|
||||
$data = substr($data,1);
|
||||
$written_by_parent = parent::write($data);
|
||||
return ($written_by_parent + 1);
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<methodsynopsis>
|
||||
|
@ -88,13 +109,23 @@
|
|||
<type>void</type><methodname>oncreate</methodname>
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<!-- When is this called? -->
|
||||
<para>
|
||||
This method is called during instantiation of the filter class
|
||||
object. If your filter allocates or initializes any other resources
|
||||
(such as a buffer), this is the place to do it.
|
||||
</para>
|
||||
|
||||
<methodsynopsis>
|
||||
<type>void</type><methodname>onclose</methodname>
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<!-- When is this called? -->
|
||||
<para>
|
||||
This method is called upon filter shutdown (typically, this is also
|
||||
during stream shutdown), and is executed <emphasis>after</emphasis>
|
||||
the <literal>flush</literal> method is called. If any resources
|
||||
were allocated or initialzed during <literal>oncreate</literal>
|
||||
this would be the time to destroy or dispose of them.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The example below implements a filter named <literal>rot13</literal>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.4 $ -->
|
||||
<!-- $Revision: 1.5 $ -->
|
||||
<reference id="ref.stream">
|
||||
<title>Stream functions</title>
|
||||
<titleabbrev>Streams</titleabbrev>
|
||||
|
@ -11,21 +11,33 @@
|
|||
<simpara>
|
||||
Streams were introduced with <literal>PHP</literal> 4.3.0 as
|
||||
a way of generalizing file, network, data compression, and other
|
||||
opperations which share a common set of functions and uses. In
|
||||
its simplest definition, a stream is any I/O conduit for exchanging
|
||||
information. Some streams work on the local filesystem, some
|
||||
use network connections (sockets), while others might potentially focus
|
||||
on communication devices such as printers or modems. Because any variety
|
||||
of stream may be added to <literal>PHP</literal> via the
|
||||
<function>stream_register_wrapper</function> function, there is no
|
||||
set limit on what can be done with them. See <xref linkend="wrappers"/>
|
||||
for a listing of stream wrappers built into <literal>PHP</literal>.
|
||||
opperations which share a common set of functions and uses. In
|
||||
its simplest definition, a <literal>stream</literal> is a
|
||||
<literal>resource</literal> object which exhibits streamable
|
||||
behavior. That is, it can be read from or written to in a linear
|
||||
fashion, and may be able to <function>fseek</function> to an
|
||||
arbitrary locations within the stream.
|
||||
</simpara>
|
||||
<simpara>
|
||||
In addition to streams, support for custom user filters is also available.
|
||||
While a stream (such as 'http') is designed to communicate with an endpoint,
|
||||
one or more filters can be placed between the stream and the application to
|
||||
further process the data as it is read/written.
|
||||
A <literal>wrapper</literal> is additional code which tells the stream how to handle
|
||||
specific protocols/encodings. For example, the <literal>http</literal>
|
||||
wrapper knows how to translate a URL into an <literal>HTTP/1.1</literal>
|
||||
request for a file on a remote server. There are many wrappers
|
||||
built into <literal>PHP</literal> by default (See <xref linkend="wrappers"/>),
|
||||
and additional, custom wrappers may be added either within a
|
||||
PHP script using <function>stream_register_wrapper</function>,
|
||||
or directly from an extension using the <xref linkend="streams"/>.
|
||||
Because any variety of wrapper may be added to <literal>PHP</literal>,
|
||||
there is no set limit on what can be done with them. To access the list
|
||||
of currently registered wrappers, use <function>stream_get_wrappers</function>.
|
||||
</simpara>
|
||||
<simpara>
|
||||
A <literal>filter</literal> is a final piece of code which may perform
|
||||
opperations on data as it is being read from or written to a stream.
|
||||
Filters may be defined in a <literal>PHP</literal> script using
|
||||
<function>stream_register_filter</function> or in an extension using the
|
||||
<xref linkend="streams"/>. To access the list of currently registered filters,
|
||||
use <function>stream_get_filters</function>.
|
||||
</simpara>
|
||||
<para>
|
||||
A stream is referenced as: <parameter>scheme</parameter>://<parameter>target</parameter>
|
||||
|
@ -33,9 +45,11 @@
|
|||
<listitem>
|
||||
<simpara>
|
||||
<parameter>scheme</parameter>(string) -
|
||||
The name of the stream wrapper to be used. Examples include: file,
|
||||
The name of the wrapper to be used. Examples include: file,
|
||||
http, https, ftp, ftps, compress.zlib, compress.bz2, ssl, tls, and php. See
|
||||
<xref linkend="wrappers"/> for a list of PHP builtin wrappers.
|
||||
<xref linkend="wrappers"/> for a list of PHP builtin wrappers. If
|
||||
no wrapper is specified, the function default is used (typically
|
||||
<literal>file</literal>://).
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -43,7 +57,7 @@
|
|||
<parameter>target</parameter> -
|
||||
Depends on the wrapper used. For filesystem related streams this is
|
||||
typically a path and filename of the desired file. For network related
|
||||
streams this is typically a hostname often with a path appended. Again, see
|
||||
streams this is typically a hostname, often with a path appended. Again, see
|
||||
<xref linkend="wrappers"/> for a description of targets for builtin streams.
|
||||
</simpara>
|
||||
</listitem>
|
||||
|
@ -85,7 +99,34 @@
|
|||
|
||||
<section id="stream.constants">
|
||||
&reftitle.constants;
|
||||
&no.constants;
|
||||
<para>
|
||||
<informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Constant</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><constant>STREAM_USE_PATH</constant></entry>
|
||||
<entry><literal>Flag</literal> indicating if the <literal>stream</literal>
|
||||
used the include path.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>STREAM_REPORT_ERRORS</constant></entry>
|
||||
<entry><literal>Flag</literal> indicating if the <literal>wrapper</literal>
|
||||
if responsible for raising errors using <function>trigger_error</function>
|
||||
during opening of the stream. If this flag is not set, you
|
||||
should not raise any errors.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="stream.errors">
|
||||
|
|
Loading…
Reference in a new issue