1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-27 00:22:08 +01:00
Files
archived-doc-ja/reference/stream/book.xml
Yoshinari Takaoka 5a07945654 Remove interals2 book
The "Hacker's guide" is grossly outdated (it is about ZendEngine 2;
some stuff even about ZE1, although ZE4 is current), and nobody is
working on it for years.  Therefore we remove this part of the manual;
users are better off reading external resources, such as
<http://www.phpinternalsbook.com/>.

Closes GH-152.
2021-01-11 09:36:36 +09:00

104 lines
4.6 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: a3bb15df3f8dd9657471db4d4f1ecd67a7c552e9 Maintainer: takagi Status: ready -->
<!-- CREDITS: shimooka,hirokawa -->
<book xml:id="book.stream" xmlns="http://docbook.org/ns/docbook">
<?phpdoc extension-membership="core" ?>
<title>ストリーム</title>
<preface xml:id="intro.stream">
&reftitle.intro;
<simpara>
ストリームは、
ファイル、ネットワーク、データ圧縮などに関する、
共通した一連の関数群と利用法を持つ操作の一般化の手法です。
もっとも単純な定義では、<literal>ストリーム</literal>
というのは、ストリーミング可能な動作を体現する <literal>resource</literal>
オブジェクトといえます。つまり、ストリームには線的に読み出したり、
あるいは書き込んだりすることが可能で、かつ、
ストリーム上の任意の場所に <function>fseek</function> できる場合もあります。
</simpara>
<simpara>
<literal>ラッパー</literal> というのは、ストリームにおいてどのように特定の
プロトコル/エンコーディングを扱うかを扱うかを指示する付加的なコード
です。たとえば、<literal>http</literal> ラッパーは、どのようにして
URL を、リモートサーバーのファイルに対する <literal>HTTP/1.0</literal>
リクエストに転換するかを知っています。PHP
には、デフォルトで組み込まれているラッパーが多数存在しますが
(<xref linkend="wrappers"/> を参照ください)、
それに加え、カスタムラッパーを<function>stream_wrapper_register</function>
を利用して PHP スクリプトの内部から、あるいはストリーム API を用いて、
直接拡張モジュールの内部から追加できます。
あらゆる種類のラッパーが PHP に追加できるので、
特にラッパーでできることの限界はありません。
現在登録されているラッパーの種類を知るには、
<function>stream_get_wrappers</function> を使います。
</simpara>
<para>
リソースは次のような形でストリームとして参照されます: <parameter>scheme</parameter>://<parameter>target</parameter>
<itemizedlist>
<listitem>
<simpara>
<parameter>scheme</parameter>(string) -
使用されるラッパーの名称です。例として、
<literal>file</literal>, <literal>http</literal>, <literal>https</literal>,
<literal>ftp</literal>, <literal>ftps</literal>,
<literal>compress.zlib</literal>, <literal>compress.bz2</literal>,
<literal>php</literal> などが含まれます。
PHP 組み込みのラッパーについては、<xref linkend="wrappers"/>
を参照ください。もしラッパーが指定されていない場合は、使用している関数の
デフォルトが利用されます(通常は <literal>file</literal>://)。
</simpara>
</listitem>
<listitem>
<simpara>
<parameter>target</parameter> -
使用するラッパーによって解釈が異なります。
ファイルシステムに関連したストリームの場合、
一般的にこのパラメータは対象となるファイルの
ファイル名とパスを表します。
ネットワークに関連したストリームの場合、一般的に
このパラメータはホスト名と、(多くの場合付加されるはずの) パス名です。
PHP 組み込みのラッパーに、どのようにターゲットが解釈されるかは、
<xref linkend="wrappers"/> を参照ください。
</simpara>
</listitem>
</itemizedlist>
</para>
</preface>
&reference.stream.setup;
&reference.stream.constants;
&reference.stream.filters;
&reference.stream.contexts;
&reference.stream.errors;
&reference.stream.examples;
&reference.stream.php-user-filter;
&reference.stream.streamwrapper;
&reference.stream.reference;
</book>
<!-- 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
-->