-
Notifications
You must be signed in to change notification settings - Fork 58
/
book.xml
103 lines (97 loc) · 4.55 KB
/
book.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
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 98d4a70aac9e7e3663282507f2f9ce014227e39d 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>
というのは、ストリーミング可能な動作を体現する <type>resource</type>
オブジェクトといえます。つまり、ストリームには線的に読み出したり、
あるいは書き込んだりすることが可能で、かつ、
ストリーム上の任意の場所に <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
-->