svn: /phpdoc/ja/trunk/ appendices/migration55.xml reference/misc/functions/pack.xml reference/misc/functions/unpack.xml
| From: | TAKAGI Masahiro | Date: | Mon, 14 Jan 2013 11:02:02 +0000 |
| Subject: | svn: /phpdoc/ja/trunk/ appendices/migration55.xml reference/misc/functions/pack.xml reference/misc/functions/unpack.xml | ||
| Groups: | php.doc.ja | ||
| Request: | Send a blank email to doc-ja+get-3671@lists.php.net to get a copy of this message | ||
takagi Mon, 14 Jan 2013 11:02:02 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=329136
Log:
Sync with en
Changed paths:
U phpdoc/ja/trunk/appendices/migration55.xml
U phpdoc/ja/trunk/reference/misc/functions/pack.xml
U phpdoc/ja/trunk/reference/misc/functions/unpack.xml
Modified: phpdoc/ja/trunk/appendices/migration55.xml
===================================================================
--- phpdoc/ja/trunk/appendices/migration55.xml 2013-01-14 10:33:07 UTC (rev 329135)
+++ phpdoc/ja/trunk/appendices/migration55.xml 2013-01-14 11:02:02 UTC (rev 329136)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 328734 Maintainer: takagi Status: ready -->
+<!-- EN-Revision: 329132 Maintainer: takagi Status: ready -->
<appendix xml:id="migration55" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink">
<title>PHP 5.4.x から PHP 5.5.x への移行</title>
@@ -89,6 +89,69 @@
</para>
</sect2>
+ <sect2 xml:id="migration55.incompatible.pack">
+ <title><function>pack</function> と <function>unpack</function>
の変更</title>
+
+ <para>
+ <function>pack</function> と
+ <function>unpack</function> が、より Perl
との互換性を高めるように変更されました。
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <function>pack</function> が書式文字 "Z"
に対応しました。この文字の挙動は
+ "a" とまったく同じです。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <function>unpack</function> も書式文字 "Z"
に対応しました。これは
+ NULL 埋めの文字列に使うもので、以前のバージョンの "a"
と同じ挙動です。
+ 最後の NULL バイトは切り捨てます。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <function>unpack</function> で書式文字 "a"
を使ったときに、
+ 最後の NULL バイトを維持するようになりました。
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <function>unpack</function> で書式文字 "A"
を使ったときに、
+ 最後の ASCII 空白文字をすべて切り捨てるようになりました。
+ </simpara>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ <function>unpack</function> で "a"
を使っているコードで過去のバージョンとの互換性を保つには、
+ <function>version_compare</function> を使う必要があります。
+ 過去との互換性が崩れてしまったからです。
+ </para>
+ <para>
+ たとえば、このようにします。
+ </para>
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+<?php
+// 古いコード
+$data = unpack('a5', $packed);
+
+// 新しいコード
+if (version_compare(PHP_VERSION, '5.5.0-dev', '>=')) {
+ $data = unpack('Z5', $packed);
+} else {
+ $data = unpack('a5', $packed);
+}
+?>
+]]>
+ </programlisting>
+ </informalexample>
+ </sect2>
+
<sect2 xml:id="migration55.incompatible.guid">
<title>PHP ロゴの GUID の削除</title>
@@ -417,22 +480,11 @@
</listitem>
<listitem>
<simpara>
- <function>pack</function> と <function>unpack</function>
が書式文字
- <literal>Z</literal> に対応しました。これは null
埋めの文字列に使います。
+ <function>pack</function> と
+ <function>unpack</function> で "a" や "A"
を使ったときの挙動が変わりました。
+ <link
linkend="migration55.incompatible.pack">詳細はこちらを参照ください</link>。
</simpara>
</listitem>
- <listitem>
- <simpara>
- <function>unpack</function> の <literal>a</literal> 書式は
- 最後の null バイトを切り捨てなくなりました。Perl
と同じ挙動になります。
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>unpack</function> の <literal>A</literal> 書式は
- 最後の ASCII 空白文字をすべて切り捨てるようになりました。Perl
と同じ挙動になります。
- </simpara>
- </listitem>
</itemizedlist>
</sect2>
Modified: phpdoc/ja/trunk/reference/misc/functions/pack.xml
===================================================================
--- phpdoc/ja/trunk/reference/misc/functions/pack.xml 2013-01-14 10:33:07 UTC (rev 329135)
+++ phpdoc/ja/trunk/reference/misc/functions/pack.xml 2013-01-14 11:02:02 UTC (rev 329136)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 303052 Maintainer: hirokawa Status: ready -->
+<!-- EN-Revision: 329132 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi -->
<refentry xml:id="function.pack" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -135,6 +135,10 @@
<entry>1 バイト戻る</entry>
</row>
<row>
+ <entry>Z</entry>
+ <entry>NUL 埋め文字列 (PHP 5.5 以降)</entry>
+ </row>
+ <row>
<entry>@</entry>
<entry>絶対位置まで NUL で埋める</entry>
</row>
@@ -162,6 +166,30 @@
</para>
</refsect1>
+ <refsect1 role="changelog"><!-- {{{ -->
+ &reftitle.changelog;
+ <para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>5.5.0</entry>
+ <entry>
+ "Z" が追加されました。Perl の "a"
と互換性のある機能です。
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </refsect1><!-- }}} -->
+
<refsect1 role="examples">
&reftitle.examples;
<para>
Modified: phpdoc/ja/trunk/reference/misc/functions/unpack.xml
===================================================================
--- phpdoc/ja/trunk/reference/misc/functions/unpack.xml 2013-01-14 10:33:07 UTC (rev 329135)
+++ phpdoc/ja/trunk/reference/misc/functions/unpack.xml 2013-01-14 11:02:02 UTC (rev 329136)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 309256 Maintainer: hirokawa Status: ready -->
+<!-- EN-Revision: 329132 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi -->
<refentry xml:id="function.unpack" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -58,6 +58,43 @@
</para>
</refsect1>
+ <refsect1 role="changelog"><!-- {{{ -->
+ &reftitle.changelog;
+ <para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>5.5.0</entry>
+ <entry>
+ <para>
+ Perl の関数に動きを近づけるための変更をしました。
+ </para>
+ <para>
+ "a" は最後の NULL バイトを維持するようになりました。
+ </para>
+ <para>
+ "A" は最後の ASCII 空白文字
(スペース、タブ、改行、キャリッジリターン、
+ NULL バイト) をすべて取り除くようになりました。
+ </para>
+ <para>
+ NULL 埋め文字列用に "Z" が追加されました。これは最後の
NULL バイトを取り除きます。
+ NULL bytes.
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </refsect1><!-- }}} -->
+
<refsect1 role="examples">
&reftitle.examples;
<para>