Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

request_parse_bodyの翻訳 #206

Merged
merged 3 commits into from
Dec 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion language/errors/php7.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1f7a0e4af85d1b74595626afa1ca774c896e8388 Maintainer: takagi Status: ready -->
<!-- EN-Revision: 4bf789e981af0836c41daa16e57ef86c21497faa Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->

<sect1 xml:id="language.errors.php7" xmlns="http://docbook.org/ns/docbook">
Expand Down Expand Up @@ -80,6 +80,9 @@
<listitem>
<simpara><classname>FiberError</classname></simpara>
</listitem>
<listitem>
<simpara><classname>RequestParseBodyException</classname></simpara>
</listitem>
</itemizedlist>
</listitem>
<listitem>
Expand Down
3 changes: 2 additions & 1 deletion language/predefined/exceptions.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 49b7f738f43c1ea2113cc7931357a10224824539 Maintainer: takagi Status: ready -->
<!-- EN-Revision: 4bf789e981af0836c41daa16e57ef86c21497faa Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->

<part xml:id="reserved.exceptions" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
Expand Down Expand Up @@ -29,6 +29,7 @@
&language.predefined.valueerror;
&language.predefined.unhandledmatcherror;
&language.predefined.fibererror;
&language.predefined.requestparsebodyexception;
</part>

<!-- Keep this comment at the end of the file
Expand Down
74 changes: 74 additions & 0 deletions language/predefined/requestparsebodyexception.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4bf789e981af0836c41daa16e57ef86c21497faa Maintainer: ippey Status: ready -->
<!-- Credits: ippey -->
<reference xml:id="class.requestparsebodyexception" role="exception" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>RequestParseBodyException</title>
<titleabbrev>RequestParseBodyException</titleabbrev>

<partintro>

<!-- {{{ Exception intro -->
<section xml:id="RequestParseBodyException.intro">
&reftitle.intro;
<simpara>
<classname>RequestParseBodyException</classname> は、
<function>request_parse_body</function> 内でリクエストボディが無効な場合にスローされます。
これは、 <literal>Content-Type</literal> ヘッダーに基づいて判断されます。
</simpara>
</section>
<!-- }}} -->

<section xml:id="RequestParseBodyException.synopsis">
&reftitle.classsynopsis;

<!-- {{{ Synopsis -->
<classsynopsis class="class">
<ooexception>
<exceptionname>RequestParseBodyException</exceptionname>
</ooexception>

<ooclass>
<modifier>extends</modifier>
<classname>Exception</classname>
</ooclass>

<classsynopsisinfo role="comment">&InheritedProperties;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.exception')/db:partintro/db:section/db:classsynopsis/db:fieldsynopsis[preceding-sibling::db:classsynopsisinfo[1][@role='comment' and text()='&Properties;']]))">
<xi:fallback/>
</xi:include>

<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.exception')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[@role='Exception'])">
<xi:fallback/>
</xi:include>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.exception')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='Exception'])">
<xi:fallback/>
</xi:include>
</classsynopsis>

<!-- }}} -->

</section>
</partintro>
</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
-->
148 changes: 148 additions & 0 deletions reference/network/functions/request-parse-body.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4bf789e981af0836c41daa16e57ef86c21497faa Maintainer: ippey Status: ready -->
<!-- Credits: ippey -->
<refentry xml:id="function.request-parse-body" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>request_parse_body</refname>
<refpurpose>リクエストボディを読み取り、解析して結果を返す</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>request_parse_body</methodname>
<methodparam choice="opt"><type class="union"><type>array</type><type>null</type></type><parameter>options</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<simpara>
この関数は リクエストボディを読み取り、
<literal>Content-Type</literal> ヘッダーに基づき解析します。
現在、2つのコンテンツタイプをサポートしています:
</simpara>
<itemizedlist>
<listitem>
<simpara>
<literal>application/x-www-form-urlencoded</literal>
</simpara>
</listitem>
<listitem>
<simpara>
<literal>multipart/form-data</literal>
</simpara>
</listitem>
</itemizedlist>
<simpara>
この関数は、 <literal>POST</literal> 以外のHTTPメソッドで送信された
<literal>multipart/form-data</literal> を解析するために使用されます。
これらのリクエストでは、スーパーグローバルの
<varname>$_POST</varname> や <varname>$_FILES</varname> は自動的に設定されません。
</simpara>
<caution>
<simpara>
<function>request_parse_body</function> は、リクエストボディを
<literal>php://input</literal> ストリームにバッファせずに処理します。
</simpara>
</caution>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<simpara>
<parameter>options</parameter> パラメータは連想配列を受け取り、
リクエストボディの解析に関連する以下のグローバル &php.ini; の設定を上書きします。
</simpara>
<itemizedlist>
<listitem><simpara><literal>max_file_uploads</literal></simpara></listitem>
<listitem><simpara><literal>max_input_vars</literal></simpara></listitem>
<listitem><simpara><literal>max_multipart_body_parts</literal></simpara></listitem>
<listitem><simpara><literal>post_max_size</literal></simpara></listitem>
<listitem><simpara><literal>upload_max_filesize</literal></simpara></listitem>
</itemizedlist>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
<function>request_parse_body</function> は、 <varname>$_POST</varname> に相当するものを
インデックス <literal>0</literal> に、 <varname>$_FILES</varname> に相当するものを <literal>1</literal> に
持つ配列ペアを返します。
</simpara>
</refsect1>

<refsect1 role="errors">
&reftitle.errors;
<simpara>
<literal>Content-Type</literal> ヘッダーに基づいて解析を試み、リクエストボディが無効な場合、
<exceptionname>RequestParseBodyException</exceptionname> をスローします。
</simpara>
<simpara>
<parameter>options</parameter> に無効なキーが含まれている、
または、対応するキーに無効な値が設定されている場合は、
<exceptionname>ValueError</exceptionname> をスローします。
</simpara>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<example xml:id="function.request-parse-body.example.basic">
<title><function>request_parse_body</function> の例</title>
<programlisting role="php">
<![CDATA[
<?php
// Parse request and store result in the $_POST and $_FILES superglobals.
[$_POST, $_FILES] = request_parse_body();
// Echo the content of some transferred file
echo file_get_contents($_FILES['file_name']['tmp_name']);
?>
]]>
</programlisting>
</example>
<example xml:id="function.request-parse-body.example.options">
<title>オプションを設定した <function>request_parse_body</function> の例</title>
<programlisting role="php">
<![CDATA[
<?php
// form.php

assert_logged_in();

// Only for this form, we allow a bigger upload size.
[$_POST, $_FILES] = request_parse_body([
'post_max_size' => '10M',
'upload_max_filesize' => '10M',
]);

// Do something with the uploaded files.
?>
]]>
</programlisting>
</example>
</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:"~/.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
-->