cvs: phpdoc-ja /appendices migration53.xml

From: Date: Tue, 30 Jun 2009 20:54:07 +0000
Subject: cvs: phpdoc-ja /appendices migration53.xml
Groups: php.doc.ja 
Request: Send a blank email to doc-ja+get-2490@lists.php.net to get a copy of this message
takagi Tue Jun 30 20:54:07 2009 UTC Added files: /phpdoc-ja/appendices migration53.xml Log: added Japanese translation based on EN-Revision: 1.26.

http://cvs.php.net/viewvc.cgi/phpdoc-ja/appendices/migration53.xml?view=markup&rev=1.1 Index: phpdoc-ja/appendices/migration53.xml +++ phpdoc-ja/appendices/migration53.xml <?xml version="1.0" encoding="utf-8"?> <!-- $Revision: 1.1 $ --> <!-- EN-Revision: 1.26 Maintainer: mumumu Status: ready --> <appendix xml:id="migration53" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>PHP 5.2.x から PHP 5.3.x への移行</title> <para> &manual.migration.seealso; <link linkend="migration5">5.0.x</link>, <link linkend="migration51">5.1.x</link> および <link linkend="migration52">5.2.x</link> も参照ください。 </para> <section xml:id="migration53.changes"> <title>PHP 5.3.x における変更点</title> <para> PHP 5.3.x で改良された点のほどんどは、既存のコードに影響を及ぼしません。ただ、 <link linkend="migration53.incompatible">互換性がない変更</link> や 考慮すべき <link linkend="migration53.new-features">新機能</link> があります。よって、 実運用環境の PHP をこのバージョンにあげる前に、あらゆるコードをテストすべきです。 </para> <para> システムを PHP 5.3.x より古いバージョンにアップグレードした場合、 関連するドキュメントは以下で見ることができます。 </para> <itemizedlist> <listitem> <simpara> <link linkend="migration52">PHP 5.1.x から PHP 5.2.x への移行</link>. </simpara> </listitem> <listitem> <simpara> <link linkend="migration51">PHP 5.0.x から PHP 5.1.x への移行</link>. </simpara> </listitem> <listitem> <simpara> <link linkend="migration5">PHP 4 から PHP 5.0.x への移行</link>. </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.incompatible"> <title>下位互換性のない変更点</title> <para> 既存の PHP5 のコードのほとんどは変更なしで動作するはずですが、 以下の下位互換性のない変更点については注意しましょう。 </para> <itemizedlist> <listitem> <simpara> 引数を解釈する内部API が、PHP 5.3.x に同梱されている全ての拡張機能に 適用されるようになりました。つまり、互換性のないパラメーターが渡された場合、 この引数を解釈するAPIは &null; を関数に返させます。これにはいくつか例外が あります。たとえば <function>get_class</function> 関数はエラーが起きた場合に 以前と同様 &false; を返します。 </simpara> </listitem> <listitem> <simpara> <function>clearstatcache</function> 関数は、デフォルトで絶対パスの値をクリアしなくなりました。 </simpara> </listitem> <listitem> <simpara> <function>realpath</function> 関数はプラットフォーム依存でなくなり、全てのプラットフォーム上で 同じ動作をするようになりました。 </simpara> </listitem> <listitem> <simpara> <function>call_user_func</function> 関数 とその仲間は、呼び出し先が親クラスであっても <literal>$this</literal> の値を伝播させるようになりました。 </simpara> </listitem> <listitem> <simpara> 配列処理関数 <function>natsort</function>, <function>natcasesort</function>, <function>usort</function>, <function>uasort</function>, <function>uksort</function>, <function>array_flip</function> そして <function>array_unique</function> は、 引数としてオブジェクトを受け入れなくなりました。オブジェクトを使ってプロパティにアクセス する必要がある場合、オブジェクトを配列型にキャストする必要があります。 </simpara> </listitem> <listitem> <simpara> 引数を参照渡しする関数に値を渡した場合の振る舞いが変更されました。 以前は値渡しとして引数を受け取っていましたが、5.3.x からは warning が生成され、 全ての参照渡しのパラメーターが &null; となります。 </simpara> </listitem> <listitem> <simpara> MySQL の新しい41バイトのパスワードフォーマットを扱うのに、mysqlnd ライブラリが必要になります。 古い16バイトのパスワードを使うと、<function>mysql_connect</function> 関数は次のようなエラーメッセージを生成します。<literal>"mysqlnd cannot connect to MySQL 4.1+ using old authentication"</literal> </simpara> </listitem> <listitem> <simpara> <classname>SplFileInfo</classname>クラス と他のディレクトリ関連クラスは、 末尾の / を除去するようになりました。 </simpara> </listitem> <listitem> <simpara> <link linkend="language.oop5.magic.tostring">__toString</link> マジックメソッドは引数をとらなくなりました。 </simpara> </listitem> <listitem> <simpara> 以下のマジックメソッド <link linkend="language.oop5.overloading.members">__get</link>, <link linkend="language.oop5.overloading.members">__set</link>, <link linkend="language.oop5.overloading.members">__isset</link>, <link linkend="language.oop5.overloading.members">__unset</link>, <link linkend="language.oop5.overloading.methods">__call</link>, は常に public にすべきです。また、static でないメソッドとしても定義できます。 メソッドのシグナチャは強制されます。 </simpara> </listitem> <listitem> <simpara> マジックメソッド <link linkend="language.oop5.overloading.methods">__call</link> は、private や protected のメソッドに対するアクセスでも呼び出されるようになりました。 </simpara> </listitem> </itemizedlist> <para> 次に示すキーワードは予約語となり、関数名やクラス名などの識別子の名前として使えなくなりました。 </para> <itemizedlist> <listitem> <simpara> <link linkend="control-structures.goto">goto</link> </simpara> </listitem> <listitem> <simpara> <link linkend="language.namespaces">namespace</link> </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.new-features"> <title>PHP 5.3.0 の新機能</title> <para> PHP 5.3.0 には多くの新機能が含まれています。言語と構文に関する新機能は以下の通りです。 </para> <itemizedlist> <listitem> <simpara> <link linkend="language.namespaces">名前空間</link> のサポートが追加されました。 </simpara> </listitem> <listitem> <simpara> <link linkend="language.oop5.late-static-bindings">遅延静的束縛</link> のサポートが追加されました。 </simpara> </listitem> <listitem> <simpara> <link linkend="control-structures.goto">ジャンプラベル</link> (制限付きgoto) のサポートが追加されました。 </simpara> </listitem> <listitem> <simpara> <link linkend="functions.anonymous">クロージャ</link> (ラムダ/無名関数) のサポートが追加されました。 </simpara> </listitem> <listitem> <simpara> マジックメソッドが二つ追加されています。 <link linkend="language.oop5.overloading.methods">__callStatic</link> と <link linkend="language.oop5.magic.invoke">__invoke</link> です。 </simpara> </listitem> <listitem> <simpara> <link linkend="language.types.string.syntax.nowdoc">Nowdoc</link> 構文がサポートされました。これは <link linkend="language.types.string.syntax.heredoc">ヒアドキュメント</link> のように動作しますが、シングルクォートで囲まれた文字列として扱われます。 </simpara> </listitem> <listitem> <simpara> <link linkend="language.types.string.syntax.heredoc">ヒアドキュメント</link> 構文は、静的な クラスメンバ/定数 を初期化できるようになりました。 </simpara> </listitem> <listitem> <simpara> <link linkend="language.types.string.syntax.heredoc">ヒアドキュメント</link> 構文は、ダブルクォートを使って宣言できるようになりました。 </simpara> </listitem> <listitem> <simpara> <link linkend="language.constants.syntax">定数</link> はクラスの外でも <literal>const</literal> キーワードを使って宣言できるようになりました。 </simpara> </listitem> <listitem> <simpara> <link linkend="language.operators.comparison.ternary">三項演算子</link> の短縮形式として <literal>?:</literal> が使えます。 </simpara> </listitem> <listitem> <simpara> HTTPストリームラッパー は、200 から 399 までのステータスコードを成功したものとみなすようになりました。 </simpara> </listitem> <listitem> <simpara> 静的なメソッドに動的にアクセスできるようになりました。 </simpara> </listitem> <listitem> <simpara> <link linkend="language.exceptions">例外</link> の捕捉がネストできるようになりました。 </simpara> </listitem> <listitem> <simpara> ガベージコレクタ が追加され、デフォルトで有効になりました。 </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.windows"> <title>Windows版に対する変更</title> <para> Windows版に加えられた変更は以下の通りです。 </para> <itemizedlist> <listitem> <simpara> Windows 2000 以降のみをサポートするようになりました。 つまり、Windows 98, ME, NT4 はサポートされなくなりました。 </simpara> </listitem> <listitem> <simpara> Windows用のバイナリは i586 以降をターゲットとしてビルドされています。 i386 と i486 はサポートされません。 </simpara> </listitem> <listitem> <simpara> Windows版PHP で 64ビット版のサポートが実験的に追加されています。 </simpara> </listitem> <listitem> <simpara> Visual Studio 2008 を用いて、Visual C++ 9(VC9) コンパイラがサポートされるようになりました。 PHP のスナップショットとリリースは VC9 でも利用できます。 VC6 を使った古いバイナリは今もサポートされており、VC9 のラインでリリースされます。 </simpara> </listitem> <listitem> <simpara> <link linkend="ref.pdo-oci">PDO_OCI</link> では、<literal>php_pdo_oci8.dll</literal> ライブラリ (Oracle 8 のクライアントライブラリ) がビルドされなくなりました。 代替として、Oracle 10 と Oracle 11 向けのクライアントライブラリとして <literal>php_pdo_oci.dll</literal> (名前から '8' が消えているのに注意) を使ってください。 これら以外のバージョンのデータベースへの接続もサポートされています。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.oci8">OCI8</link> 拡張モジュールでは、 <literal>php_oci8.dll</literal> に加えて 新しいライブラリ <literal>php_oci8_11g.dll</literal> が使えるようになりました。 これらは同時に有効にできません。Oracle 10.2 向けには <literal>php_oci8.dll</literal> をクライアントライブラリとして使ってください。 Oracle 11 向けには <literal>php_oci8_11g.dll</literal> を使ってください。 これら以外のバージョンのデータベースへの接続もサポートされています。 </simpara> </listitem> </itemizedlist> <para> Windows でのサポートが追加された関数は以下の通りです。 </para> <itemizedlist> <listitem> <simpara> <function>checkdnsrr</function> </simpara> </listitem> <listitem> <simpara> <function>dns_get_record</function> </simpara> </listitem> <listitem> <simpara> <function>fnmatch</function> </simpara> </listitem> <listitem> <simpara> <function>getmxrr</function> </simpara> </listitem> <listitem> <simpara> <function>getopt</function> </simpara> </listitem> <listitem> <simpara> <function>imagecolorclosesthwb</function> </simpara> </listitem> <listitem> <simpara> <function>inet_ntop</function> </simpara> </listitem> <listitem> <simpara> <function>inet_pton</function> </simpara> </listitem> <listitem> <simpara> <function>link</function> </simpara> </listitem> <listitem> <simpara> <function>linkinfo</function> </simpara> </listitem> <listitem> <simpara> <function>mcrypt_create_iv</function> </simpara> </listitem> <listitem> <simpara> <function>readlink</function> </simpara> </listitem> <listitem> <simpara> <function>socket_create_pair</function> - この関数は以前 Windows でも利用できましたが、バグがあったため PHP 4.3.0 で使えなくなっていました。 </simpara> </listitem> <listitem> <simpara> <function>stream_socket_pair</function> </simpara> </listitem> <listitem> <simpara> <function>symlink</function> </simpara> </listitem> <listitem> <simpara> <function>time_nanosleep</function> </simpara> </listitem> <listitem> <simpara> <function>time_sleep_until</function> </simpara> </listitem> </itemizedlist> <para> その他の変更: </para> <itemizedlist> <listitem> <simpara> <function>stat</function>, <function>touch</function>, <function>filemtime</function>, <function>filesize</function> 関数と、 それに関連する関数の移植性が改善されました。(利用できるデータに対して100%移植可能です) </simpara> </listitem> <listitem> <simpara> <function>link</function> 関数を使ってハードリンクを作ることができるようになりました。 シンボリックリンクは <function>symlink</function> 関数で作ることができます。 ハードリンクは Windows 2000 以降で、 シンボリックリンクは Windows Vista 以降で利用できます。 </simpara> </listitem> <listitem> <simpara> Windows版のPHP は <literal>PHP_WINDOWS_*</literal> という名前で始まる一連の定数を提供します。これらの一覧と使い方は <link linkend="info.constants">こちら</link> から見ることができます。 </simpara> </listitem> </itemizedlist> <warning> <simpara> ISAPI モジュールはサポートされなくなりました。代替として改善され、より優れた FastCGI SAPI モジュールを使ってください。 </simpara> </warning> <note> <simpara> Windows 版PHP のダウンロード、リリース候補、様々なビルド (スレッドセーフ版とそうでないもの、VC6/VC9版、x86版/x64版) を用意した専用サイトが利用できます。 URL は <link xlink:href="&url.php.windows;">&url.php.windows;</link> です。 </simpara> </note> </section> <section xml:id="migration53.sapi"> <title>SAPI モジュールに対する変更</title> <itemizedlist> <listitem> <simpara> litespeed と呼ばれる新しいSAPIモジュールが利用できます。 </simpara> </listitem> <listitem> <simpara> FastCGI は常に有効になり、無効にできなくなっています。 詳細は <literal>sapi/cgi/CHANGES</literal> を参照してください。 </simpara> </listitem> <listitem> <simpara> スクリプトの実行時間を測るための新しい CGI SAPI オプションとして <literal>-T</literal> が利用できます。 </simpara> </listitem> <listitem> <simpara> CGI/FastCGI では、.htaccess スタイルの &php.ini; ファイルをサポートしています。 これはユーザー定義のファイルです。 </simpara> </listitem> <listitem> <simpara> <function>dl</function> はデフォルトで無効になりました。 cli, cgi と 組み込みSAPI でのみ利用可能です。 </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.deprecated"> <title>PHP 5.3.x で推奨されない機能</title> <para> PHP 5.3.0 では新しく二つのエラーレベルが加わりました。 <constant>E_DEPRECATED</constant> と <constant>E_USER_DEPRECATED</constant> です。 <constant>E_DEPRECATED</constant> エラーレベルは、 特定の機能が推奨されないことを示すのに使います。 <constant>E_USER_DEPRECATED</constant> エラーレベルは、ユーザー定義のコードで推奨されない機能、たとえば <constant>E_USER_WARNING</constant> のようなものを示すのに使うべきです。 </para> <para> INI ディレクティブで推奨されないものは以下の通りです。 これらのひとつ以上を有効にすると、起動時に推奨されないという警告が出ます。 </para> <itemizedlist> <listitem> <simpara> <link linkend="ini.define-syslog-variables">define_syslog_variables</link> </simpara> </listitem> <listitem> <simpara> <link linkend="ini.register-globals">register_globals</link> </simpara> </listitem> <listitem> <simpara> <link linkend="ini.register-long-arrays">register_long_arrays</link> </simpara> </listitem> <listitem> <simpara> <link linkend="ini.safe-mode">safe_mode</link> </simpara> </listitem> <listitem> <simpara> <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> </simpara> </listitem> <listitem> <simpara> <link linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link> </simpara> </listitem> <listitem> <simpara> <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link> </simpara> </listitem> <listitem> <simpara> '#' ではじまるコメントは .INI ファイルでは推奨されません。 </simpara> </listitem> </itemizedlist> <para> 推奨されない関数 </para> <itemizedlist> <listitem> <simpara> <function>call_user_method</function> </simpara> </listitem> <listitem> <simpara> <function>call_user_method_array</function> </simpara> </listitem> <listitem> <simpara> <function>define_syslog_variables</function> </simpara> </listitem> <listitem> <simpara> <function>dl</function> </simpara> </listitem> <listitem> <simpara> <function>ereg</function> </simpara> </listitem> <listitem> <simpara> <function>ereg_replace</function> </simpara> </listitem> <listitem> <simpara> <function>eregi</function> </simpara> </listitem> <listitem> <simpara> <function>eregi_replace</function> </simpara> </listitem> <listitem> <simpara> <function>set_magic_quotes_runtime</function> と、エイリアスの <function>magic_quotes_runtime</function> </simpara> </listitem> <listitem> <simpara> <function>session_register</function> </simpara> </listitem> <listitem> <simpara> <function>session_unregister</function> </simpara> </listitem> <listitem> <simpara> <function>session_is_registered</function> </simpara> </listitem> <listitem> <simpara> <function>set_socket_blocking</function> </simpara> </listitem> <listitem> <simpara> <function>split</function> </simpara> </listitem> <listitem> <simpara> <function>spliti</function> </simpara> </listitem> <listitem> <simpara> <function>sql_regcase</function> </simpara> </listitem> <listitem> <simpara> <function>mysql_db_query</function> </simpara> </listitem> <listitem> <simpara> <function>mysql_escape_string</function> </simpara> </listitem> <listitem> <simpara> ロケールカテゴリ名を文字列で渡すこと </simpara> </listitem> <listitem> <simpara> <parameter>is_dst</parameter> を <function>mktime</function> に渡すこと </simpara> </listitem> </itemizedlist> <para> 推奨されない機能 </para> <itemizedlist> <listitem> <simpara> "new" の返り値を参照で代入すること </simpara> </listitem> <listitem> <simpara> 呼び出し時の参照渡し </simpara> </listitem> <listitem> <simpara> {} を使用した文字列オフセットへのアクセス </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.undeprecated"> <title>PHP 5.3.x で推奨されない状態が取り消された機能</title> <para> <function>is_a</function> 関数は推奨されていませんでしたが、 ユーザーの要望によって取り消されました。つまり、この関数は <constant>E_STRICT</constant> エラーの対象ではないということです。 </para> </section> <section xml:id="migration53.parameters"> <title>新しいパラメータ</title> <para> PHP 5.3.x では、新しい、またはオプションのパラメータを提供する関数があります。 </para> <para>PHPコア:</para> <itemizedlist> <listitem> <simpara> <function>clearstatcache</function> - <parameter>clear_realpath_cache</parameter> と <parameter>filename</parameter> が追加されました。 </simpara> </listitem> <listitem> <simpara> <function>copy</function> - <parameter>context</parameter> が追加されました。 </simpara> </listitem> <listitem> <simpara> <function>fgetcsv</function> - <parameter>escape</parameter> が追加されました。 </simpara> </listitem> <listitem> <simpara> <function>ini_get_all</function> - <parameter>details</parameter> が追加されました。 </simpara> </listitem> <listitem> <simpara> <function>mail</function> 関数は送信されたメールのロギングをサポートしています。 </simpara> </listitem> <listitem> <simpara> <function>nl2br</function> - <parameter>is_xhtml</parameter> が追加されました。 </simpara> </listitem> <listitem> <simpara> <function>parse_ini_file</function> - <parameter>scanner_mode</parameter> が追加されました。 </simpara> </listitem> <listitem> <simpara> <function>round</function> - <parameter>mode</parameter> が追加されました。 </simpara> </listitem> <listitem> <simpara> <function>stream_context_create</function> - <parameter>params</parameter> が追加されました。 </simpara> </listitem> <listitem> <simpara> <function>strstr</function> and <function>stristr</function> - <parameter>before_needle</parameter> が追加されました。 </simpara> </listitem> </itemizedlist> <para><link linkend="book.json">JSON関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>json_encode</function> - <parameter>options</parameter> が追加されました。 </simpara> </listitem> <listitem> <simpara> <function>json_decode</function> - <parameter>depth</parameter> が追加されました。 </simpara> </listitem> </itemizedlist> <para><link linkend="book.stream">ストリーム関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>stream_select</function>, <function>stream_set_blocking</function>, <function>stream_set_timeout</function> と <function>stream_set_write_buffer</function> はユーザー空間のストリームラッパーとして機能します。 </simpara> </listitem> </itemizedlist> <para><link linkend="book.sybase">Sybase関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>sybase_connect</function> - <parameter>new</parameter> が追加されました。 </simpara> </listitem> </itemizedlist> <para> PHP 5.3.0 で追加されたメソッドパラメータは以下の通りです。 </para> <para>PHPコア:</para> <itemizedlist> <listitem> <simpara> <methodname>Exception::__construct</methodname> - <parameter>previous</parameter> が追加されました。 </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.functions"> <title>新しい関数</title> <para> PHP 5.3.x で加わった新しい関数は以下の通りです。 </para> <para>PHPコア:</para> <itemizedlist> <listitem> <simpara> <function>array_replace</function> - 渡された配列の要素の値が一致するものを置き換え、ひとつの配列にする </simpara> </listitem> <listitem> <simpara> <function>array_replace_recursive</function> - 渡された配列の要素の値が一致するものを再帰的に置き換え、ひとつの配列にする </simpara> </listitem> <listitem> <simpara> <function>class_alias</function> - ユーザー定義のクラスのエイリアスを作成する </simpara> </listitem> <listitem> <simpara> <function>forward_static_call</function> - はじめのパラメータとして渡されたユーザー定義の静的関数を呼び出す。 </simpara> </listitem> <listitem> <simpara> <function>forward_static_call_array</function> - はじめのパラメータとして渡されたユーザー定義の静的関数を呼び出すが、 引数は配列として渡す。 </simpara> </listitem> <listitem> <simpara> <function>gc_collect_cycles</function> - 既存ガベージサイクルを強制的に収集する </simpara> </listitem> <listitem> <simpara> <function>gc_disable</function> - 循環参照コレクタを無効にする </simpara> </listitem> <listitem> <simpara> <function>gc_enable</function> - 循環参照コレクタを有効にする </simpara> </listitem> <listitem> <simpara> <function>gc_enabled</function> - 循環参照コレクタの状態を返す </simpara> </listitem> <listitem> <simpara> <function>get_called_class</function> - 静的メソッドのコール元のクラス名を取得する。 </simpara> </listitem> <listitem> <simpara> <function>gethostname</function> - ローカルマシンの現在のホスト名を取得する </simpara> </listitem> <listitem> <simpara> <function>header_remove</function> - <function>header</function>関数 で以前設定したHTTPヘッダを削除する </simpara> </listitem> <listitem> <simpara> <function>lcfirst</function> - 文字列の最初の文字を小文字にする </simpara> </listitem> <listitem> <simpara> <function>parse_ini_string</function> - 設定文字列をパースする。 </simpara> </listitem> <listitem> <simpara> <function>quoted_printable_encode</function> - 8 ビット文字列を quoted-printable 文字列に変換する </simpara> </listitem> <listitem> <simpara> <function>str_getcsv</function> - CSV文字列を配列にパースする。 </simpara> </listitem> <listitem> <simpara> <function>stream_context_set_default</function> - デフォルトのストリームコンテキストを設定する。 </simpara> </listitem> <listitem> <simpara> <function>stream_supports_lock</function> - ストリームにロッキングをサポートするかどうかを伝える。 </simpara> </listitem> <listitem> <simpara> <function>stream_context_get_params</function> - ストリームのコンテキストからパラメータを集める。 </simpara> </listitem> <listitem> <simpara> <function>streamWrapper::stream_cast</function> - 既に存在しているリソースを集める。 </simpara> </listitem> <listitem> <simpara> <function>streamWrapper::stream_set_option</function> - ストリームのオプションを変更する。 </simpara> </listitem> </itemizedlist> <para><link linkend="book.datetime">日付・時刻関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>date_add</function> - 年月日時分秒の値を <classname>DateTime</classname> オブジェクトに加える </simpara> </listitem> <listitem> <simpara> <function>date_create_from_format</function> - 指定した書式でフォーマットした新しい <classname>DateTime</classname> オブジェクトを返す </simpara> </listitem> <listitem> <simpara> <function>date_diff</function> - ふたつの <classname>DateTime</classname> オブジェクトの差を返す </simpara> </listitem> <listitem> <simpara> <function>date_get_last_errors</function> - 日付/時刻 の操作中に発生した最後の警告やエラーを返す </simpara> </listitem> <listitem> <simpara> <function>date_parse_from_format</function> - 指定した日付についての情報を取得する </simpara> </listitem> <listitem> <simpara> <function>date_sub</function> - 年月日時分秒の値を <classname>DateTime</classname> オブジェクトから引く </simpara> </listitem> <listitem> <simpara> <function>timezone_version_get</function> - タイムゾーンデータベースのバージョンを取得する </simpara> </listitem> </itemizedlist> <para><link linkend="book.gmp">GMP関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>gmp_testbit</function> - ビットが設定されているかどうかを調べる </simpara> </listitem> </itemizedlist> <para><link linkend="book.hash">Hash関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>hash_copy</function> - ハッシュコンテキストをコピーする </simpara> </listitem> </itemizedlist> <para><link linkend="book.imap">IMAP 関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>imap_gc</function> - IMAP のキャッシュをクリアする </simpara> </listitem> <listitem> <simpara> <function>imap_utf8_to_mutf7</function> - UTF-8 文字列を 修正UTF-7 にエンコードする </simpara> </listitem> <listitem> <simpara> <function>imap_mutf7_to_utf8</function> - 修正UTF-7 を UTF-8 にデコードする </simpara> </listitem> </itemizedlist> <para><link linkend="book.json">JSON関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>json_last_error</function> - JSON関連の処理で直近に発生したエラーを返す </simpara> </listitem> </itemizedlist> <para><link linkend="book.mysqli">MySQL 改良版</link>:</para> <itemizedlist> <listitem> <simpara> <function>mysqli_fetch_all</function> - 結果のすべての行を連想配列・数値添字配列あるいはその両方の形式で取得する </simpara> </listitem> <listitem> <simpara> <function>mysqli_get_connection_stats</function> - クライアント接続に関する統計情報を返す </simpara> </listitem> <listitem> <simpara> <function>mysqli_poll</function> - 接続を問い合わせる </simpara> </listitem> <listitem> <simpara> <function>mysqli_reap_async_query</function> - 非同期クエリから結果を取得する </simpara> </listitem> </itemizedlist> <para><link linkend="book.openssl">OpenSSL 関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>openssl_random_pseudo_bytes</function> - ランダムな疑似バイトで、指定された長さを埋めた文字列を返す </simpara> </listitem> </itemizedlist> <para><link linkend="book.pcntl">PCNTL 関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>pcntl_signal_dispatch</function> - ペンディングシグナル用のハンドラをコールする </simpara> </listitem> <listitem> <simpara> <function>pcntl_sigprocmask</function> - ブロックされたシグナルを設定あるいは取得する </simpara> </listitem> <listitem> <simpara> <function>pcntl_sigtimedwait</function> - タイムアウトつきでシグナルを待つ </simpara> </listitem> <listitem> <simpara> <function>pcntl_sigwaitinfo</function> - シグナルを待つ </simpara> </listitem> </itemizedlist> <para><link linkend="book.pcre">PCRE 関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>preg_filter</function> - 正規表現の検索と置換を行う </simpara> </listitem> </itemizedlist> <para><link linkend="book.sem">セマフォ関数</link>:</para> <itemizedlist> <listitem> <simpara> <function>msg_queue_exists</function> - メッセージキューが存在するかどうかを調べる </simpara> </listitem> <listitem> <simpara> <function>shm_has_var</function> - 特定のエントリが存在するかどうかを調べる </simpara> </listitem> </itemizedlist> <para> 以下の関数はPHP本体に組み込まれました。つまり、これらは PHP を実行するオペレーティングシステムに関係なく使えるということです。 </para> <itemizedlist> <listitem> <simpara> <function>acosh</function> </simpara> </listitem> <listitem> <simpara> <function>asinh</function> </simpara> </listitem> <listitem> <simpara> <function>atanh</function> </simpara> </listitem> <listitem> <simpara> <function>expm1</function> </simpara> </listitem> <listitem> <simpara> <function>log1p</function> </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.new-stream-wrappers"> <title>新しいストリームラッパー</title> <para> PHP 5.3.0 で加わったストリームラッパーは次の通りです。 </para> <itemizedlist> <listitem> <simpara> <link linkend="wrappers.glob">glob://</link> </simpara> </listitem> <listitem> <simpara> <link linkend="wrappers.phar">phar://</link> </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.new-stream-filters"> <title>新しいフィルタ</title> <para> PHP 5.3.0 で加わったフィルタは次の通りです。 </para> <itemizedlist> <listitem> <simpara> dechunk </simpara> </listitem> <listitem> <simpara> bz2.decompress フィルタは連結機能をサポートするようになりました。 </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.class-constants"> <title>新しいクラス定数</title> <para> PHP 5.3.0 で加わった新しいクラス定数は以下の通りです。 </para> <para><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</para> <itemizedlist> <listitem> <simpara> <constant>PDO::FB_ATTR_DATE_FORMAT</constant> - 日付のフォーマットを設定します。 </simpara> </listitem> <listitem> <simpara> <constant>PDO::FB_ATTR_TIME_FORMAT</constant> - 時間のフォーマットを設定します。 </simpara> </listitem> <listitem> <simpara> <constant>PDO::FB_ATTR_TIMESTAMP_FORMAT</constant> - タイムスタンプのフォーマットを設定します。 </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.methods"> <title>新しいメソッド</title> <para> PHP 5.3.0 で加わった新しいメソッドは以下の通りです。 </para> <para><link linkend="book.datetime">日付/時刻</link>:</para> <itemizedlist> <listitem> <simpara> <function>DateTime::add</function> - 年月日時分秒の値を <classname>DateTime</classname> オブジェクトに加える </simpara> </listitem> <listitem> <simpara> <function>DateTime::createFromFormat</function> - 指定した書式でフォーマットした新しい <classname>DateTime</classname> オブジェクトを返す </simpara> </listitem> <listitem> <simpara> <function>DateTime::diff</function> - ふたつの <classname>DateTime</classname> オブジェクトの差を返す </simpara> </listitem> <listitem> <simpara> <function>DateTime::getLastErrors</function> - 日付/時刻 の操作中に発生した最後の警告やエラーを返す </simpara> </listitem> <listitem> <simpara> <function>DateTime::sub</function> - 年月日時分秒の値を <classname>DateTime</classname> オブジェクトから引く </simpara> </listitem> </itemizedlist> <para><classname>Exception</classname>:</para> <itemizedlist> <listitem> <simpara> <function>Exception::getPrevious</function> - 前の例外を返す </simpara> </listitem> </itemizedlist> <para><link linkend="book.dom">DOM</link>:</para> <itemizedlist> <listitem> <simpara> <function>DOMNode::getLineNo</function> - パースしたノードが存在する行番号を取得する </simpara> </listitem> </itemizedlist> <para><link linkend="ref.pdo-firebird">PDO_FIREBIRD</link>:</para> <itemizedlist> <listitem> <simpara> <function>PDO::setAttribute</function> - 属性を設定する </simpara> </listitem> </itemizedlist> <para><link linkend="language.oop5.reflection">Reflection</link>:</para> <itemizedlist> <listitem> <simpara> <link linkend="language.oop5.reflection.reflectionclass">ReflectionClass::getNamespaceName()</link> - このクラスが定義された名前空間の名前を返す </simpara> </listitem> <listitem> <simpara> <link linkend="language.oop5.reflection.reflectionclass">ReflectionClass::getShortName()</link> - クラスの短縮名を返す (名前空間の部分は含まない) </simpara> </listitem> <listitem> <simpara> <link linkend="language.oop5.reflection.reflectionclass">ReflectionClass::inNamespace()</link> - このクラスが名前空間の中で定義されているかどうかを返す </simpara> </listitem> <listitem> <simpara> <link linkend="language.oop5.reflection.reflectionfunction">ReflectionFunction::getNamespaceName()</link> - この関数が定義された名前空間の名前を返す </simpara> </listitem> <listitem> <simpara> <link linkend="language.oop5.reflection.reflectionfunction">ReflectionFunction::getShortName()</link> - 関数の短縮名を返す (名前空間の部分は含まない) </simpara> </listitem> <listitem> <simpara> <link linkend="language.oop5.reflection.reflectionfunction">ReflectionFunction::inNamespace()</link> - この関数が名前空間の中で定義されているかどうかを返す </simpara> </listitem> <listitem> <simpara> <link linkend="language.oop5.reflection.reflectionproperty">ReflectionProperty::setAccessible()</link> - public でないプロパティを読み出せるかどうかを設定する </simpara> </listitem> </itemizedlist> <para><link linkend="book.spl">SPL</link>:</para> <itemizedlist> <listitem> <simpara> <function>SplObjectStorage::addAll</function> - 別のストレージオブジェクトからすべてのオブジェクトを追加する </simpara> </listitem> <listitem> <simpara> <function>SplObjectStorage::removeAll</function> - 現在のストレージから、別のストレージに含まれているオブジェクトを取り除く </simpara> </listitem> </itemizedlist> <para><link linkend="book.xsl">XSL</link>:</para> <itemizedlist> <listitem> <simpara> <function>XSLTProcessor::setProfiling</function> - プロファイル情報の出力ファイルを設定する </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.new-extensions"> <title>新しい拡張モジュール</title> <para> PHP 5.3.0 で追加された (デフォルトで含まれている) 拡張モジュールは以下の通りです。 </para> <itemizedlist> <listitem> <simpara> <link linkend="book.enchant">Enchant</link> - スペリングライブラリの最上位に位置する抽象レイヤ </simpara> </listitem> <listitem> <simpara> <link linkend="book.fileinfo">Fileinfo</link> - 改良され、(完全に互換性を保ちながら) 堅牢な実装で <link linkend="book.mime-magic">Mimetype</link> 拡張モジュールを置き換えたものです。 <link linkend="book.mime-magic">Mimetype</link> 拡張モジュールは以前に削除されています。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.intl">INTL</link> - 国際化のための拡張モジュールです。 INTL は <link xlink:href="&url.icu.home;">ICU</link> ライブラリのラッパーです。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.phar">Phar</link> - PHPアーカイブファイルの実装です。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.sqlite3">SQLite3</link> - SQLite3 データベースをサポートしています。 </simpara> </listitem> </itemizedlist> <para> mysqlnd は PHP に同梱された新しいコアライブラリです。 これは libmysql のためにPHP特有の部分を置き換えたものです。 mysqlnd は libmysql が システムに見つからない場合、 <link linkend="book.mysql">mysql</link>, <link linkend="book.mysqli">mysqli</link>, <link linkend="ref.pdo-mysql">PDO_MYSQL</link> をビルドするのに使われます。 しかし、libmysql のかわりに mysqlnd を使うこともできます。 </para> </section> <section xml:id="migration53.removed-extensions"> <title>削除された拡張モジュール</title> <para> 以下に示す拡張モジュールは PECL に移動し、PHPに同梱されなくなりました。 これらの PECLパッケージ は、ユーザーの需要に応じて作られるかが決まります。 </para> <itemizedlist> <listitem> <simpara> <link linkend="book.dbase">dbase</link> - もはやメンテナンスされていません。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.fbsql">fbsql</link> - もはやメンテナンスされていません。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.fdf">fdf</link> - メンテナンスされています。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.ming">ming</link> - メンテナンスされています。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.msql">msql</link> - もはやメンテナンスされていません。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.ncurses">ncurses</link> - メンテナンスされています。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.sybase">sybase</link> - メンテナンスが中止されました。代替として既にPHPコアに入っている <link linkend="book.sybase">Sybase関数</link> を使ってください。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.mhash">mhash</link> - メンテナンスが中止されました。 代替として <link linkend="book.hash">HASH関数</link> を使ってください。 <link linkend="book.hash">HASH関数</link> は、 古い関数を使っている既存のアプリケーションが動くように、mhash と完全な互換性があります。 </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.extensions-other"> <title>その他の拡張モジュールに対する変更</title> <para> 以下の拡張モジュールは configure スクリプトの実行中に無効にすることができなくなりました。 </para> <itemizedlist> <listitem> <simpara> <link linkend="book.pcre">PCRE</link> </simpara> </listitem> <listitem> <simpara> <link linkend="language.oop5.reflection">Reflection</link> </simpara> </listitem> <listitem> <simpara> <link linkend="book.spl">SPL</link> </simpara> </listitem> </itemizedlist> <para> 拡張モジュールに対する振る舞いの変更や新機能は以下の通りです。 </para> <itemizedlist> <listitem> <simpara> <link linkend="book.datetime">日付と時刻</link> - TZ 環境変数はタイムゾーンを推測するのに使われなくなりました。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.curl">cURL</link> - cURL が SSHプロトコルをサポートするようになりました。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.network">ネットワーク関数</link> - 追加の「エントリ」インデックスが含まれるようになりました。これには TXT 要素が含まれます。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.hash">Hash関数</link> - SHA-224 と salsa ハッシュアルゴリズムがサポートされました。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.mbstring">マルチバイト文字列関数(mbstring)</link> - CP850 エンコーディングがサポートされました。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.oci8">OCI8</link> - <function>oci_close</function>関数を持続的接続の途中で呼び出したり、 持続的接続を参照している変数がスコープの外に出ると、 全てのコミットされていないトランザクションがロールバックされるようになりました。 ユーザーは明示的にコミットするか、ロールバックすることが必要です。 <link linkend="ini.oci8.old-oci-close-semantics">oci8.old_oci_close_semantics=On</link> と設定することで以前の振る舞いを残すことができます。 </simpara> <simpara> Database Resident Connection Pooling (DRCP), Fast Application Notification (FAN), Oracle External Authentication (Windowsでは未サポート) をサポートしました。 <function>oci_bind_by_name</function>関数は引数のタイプとして SQLT_AFC (CHAR データ型の別名) をサポートしています。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.openssl">OpenSSL</link> - OpenSSL のダイジェストと暗号関数がサポートされました。 また、DSA, RSA, DH 鍵の内部値にもアクセスできるようになっています。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.session">Session</link> - <link linkend="ini.open-basedir">open_basedir</link> の制限が有効な場合、 <literal>"/tmp"</literal> を許可するパスに追加しない限り、セッションファイルを <literal>/tmp</literal>ディレクトリに保存しなくなりました。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.soap">SOAP</link> ユーザー定義のHTTPヘッダを送信できるようになりました。 </simpara> </listitem> <listitem> <simpara> <link linkend="book.mysqli">MySQLi</link> ホスト名に <literal>"p:"</literal> を追加することで持続的接続ができるようになりました。 </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.classes"> <title>新しいクラス</title> <para> PHP 5.3.0 で新しく加わったクラスは以下の通りです。 </para> <para><link linkend="book.datetime">日付・時刻</link>:</para> <itemizedlist> <listitem> <simpara> <classname>DateInterval</classname> </simpara> </listitem> <listitem> <simpara> <classname>DatePeriod</classname> </simpara> </listitem> </itemizedlist> <para><link linkend="book.phar">Phar</link>:</para> <itemizedlist> <listitem> <simpara> <classname>Phar</classname> </simpara> </listitem> <listitem> <simpara> <classname>PharData</classname> </simpara> </listitem> <listitem> <simpara> <classname>PharException</classname> </simpara> </listitem> <listitem> <simpara> <classname>PharFileInfo</classname> </simpara> </listitem> </itemizedlist> <para><link linkend="book.spl">SPL</link>:</para> <itemizedlist> <listitem> <simpara> <classname>FilesystemIterator</classname> </simpara> </listitem> <listitem> <simpara> <classname>GlobIterator</classname> </simpara> </listitem> <listitem> <simpara> <classname>MultipleIterator</classname> </simpara> </listitem> <listitem> <simpara> <classname>RecursiveTreeIterator</classname> </simpara> </listitem> <listitem> <simpara> <classname>SplDoublyLinkedList</classname> </simpara> </listitem> <listitem> <simpara> <classname>SplFixedArray</classname> </simpara> </listitem> <listitem> <simpara> <classname>SplHeap</classname> </simpara> </listitem> <listitem> <simpara> <classname>SplMaxHeap</classname> </simpara> </listitem> <listitem> <simpara> <classname>SplMinHeap</classname> </simpara> </listitem> <listitem> <simpara> <classname>SplPriorityQueue</classname> </simpara> </listitem> <listitem> <simpara> <classname>SplQueue</classname> </simpara> </listitem> <listitem> <simpara> <classname>SplStack</classname> </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.global-constants"> <title>新しいグローバル定数</title> <para>PHPコア:</para> <itemizedlist> <listitem> <simpara> <constant>__DIR__</constant> </simpara> </listitem> <listitem> <simpara> <constant>__NAMESPACE__</constant> </simpara> </listitem> <listitem> <simpara> <constant>E_DEPRECATED</constant> </simpara> </listitem> <listitem> <simpara> <constant>E_USER_DEPRECATED</constant> </simpara> </listitem> <listitem> <simpara> <constant>INI_SCANNER_NORMAL</constant> </simpara> </listitem> <listitem> <simpara> <constant>INI_SCANNER_RAW</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_MAXPATHLEN</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_WINDOWS_NT_DOMAIN_CONTROLLER</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_WINDOWS_NT_SERVER</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_WINDOWS_NT_WORKSTATION</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_WINDOWS_VERSION_BUILD</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_WINDOWS_VERSION_MAJOR</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_WINDOWS_VERSION_MINOR</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_WINDOWS_VERSION_PLATFORM</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_WINDOWS_VERSION_PRODUCTTYPE</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_WINDOWS_VERSION_SP_MAJOR</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_WINDOWS_VERSION_SP_MINOR</constant> </simpara> </listitem> <listitem> <simpara> <constant>PHP_WINDOWS_VERSION_SUITEMASK</constant> </simpara> </listitem> </itemizedlist> <para><link linkend="book.curl">cURL関数</link>:</para> <itemizedlist> <listitem> <simpara> <constant>CURLOPT_PROGRESSFUNCTION</constant> </simpara> </listitem> </itemizedlist> <para><link linkend="book.image">GD および Image 関数</link>:</para> <itemizedlist> <listitem> <simpara> <constant>IMG_FILTER_PIXELATE</constant> </simpara> </listitem> </itemizedlist> <para><link linkend="book.json">JSON 関数</link>:</para> <itemizedlist> <listitem> <simpara> <constant>JSON_ERROR_CTRL_CHAR</constant> </simpara> </listitem> <listitem> <simpara> <constant>JSON_ERROR_DEPTH</constant> </simpara> </listitem> <listitem> <simpara> <constant>JSON_ERROR_NONE</constant> </simpara> </listitem> <listitem> <simpara> <constant>JSON_ERROR_STATE_MISMATCH</constant> </simpara> </listitem> <listitem> <simpara> <constant>JSON_ERROR_SYNTAX</constant> </simpara> </listitem> <listitem> <simpara> <constant>JSON_FORCE_OBJECT</constant> </simpara> </listitem> <listitem> <simpara> <constant>JSON_HEX_TAG</constant> </simpara> </listitem> <listitem> <simpara> <constant>JSON_HEX_AMP</constant> </simpara> </listitem> <listitem> <simpara> <constant>JSON_HEX_APOS</constant> </simpara> </listitem> <listitem> <simpara> <constant>JSON_HEX_QUOT</constant> </simpara> </listitem> </itemizedlist> <para><link linkend="book.ldap">LDAP 関数</link>:</para> <itemizedlist> <listitem> <simpara> <constant>LDAP_OPT_NETWORK_TIMEOUT</constant> </simpara> </listitem> </itemizedlist> <para><link linkend="book.libxml">libxml 関数</link>:</para> <itemizedlist> <listitem> <simpara> <constant>LIBXML_LOADED_VERSION </constant> </simpara> </listitem> </itemizedlist> <para><link linkend="book.pcre">PCRE 関数</link>:</para> <itemizedlist> <listitem> <simpara> <constant>PREG_BAD_UTF8_OFFSET_ERROR</constant> </simpara> </listitem> </itemizedlist> <para><link linkend="book.pcntl">PCNTL 関数</link>:</para> <itemizedlist> <listitem> <simpara> <constant>BUS_ADRALN</constant> </simpara> </listitem> <listitem> <simpara> <constant>BUS_ADRERR</constant> </simpara> </listitem> <listitem> <simpara> <constant>BUS_OBJERR</constant> </simpara> </listitem> <listitem> <simpara> <constant>CLD_CONTIUNED</constant> </simpara> </listitem> <listitem> <simpara> <constant>CLD_DUMPED</constant> </simpara> </listitem> <listitem> <simpara> <constant>CLD_EXITED</constant> </simpara> </listitem> <listitem> <simpara> <constant>CLD_KILLED</constant> </simpara> </listitem> <listitem> <simpara> <constant>CLD_STOPPED</constant> </simpara> </listitem> <listitem> <simpara> <constant>CLD_TRAPPED</constant> </simpara> </listitem> <listitem> <simpara> <constant>FPE_FLTDIV</constant> </simpara> </listitem> <listitem> <simpara> <constant>FPE_FLTINV</constant> </simpara> </listitem> <listitem> <simpara> <constant>FPE_FLTOVF</constant> </simpara> </listitem> <listitem> <simpara> <constant>FPE_FLTRES</constant> </simpara> </listitem> <listitem> <simpara> <constant>FPE_FLTSUB</constant> </simpara> </listitem> <listitem> <simpara> <constant>FPE_FLTUND</constant> </simpara> </listitem> <listitem> <simpara> <constant>FPE_INTDIV</constant> </simpara> </listitem> <listitem> <simpara> <constant>FPE_INTOVF</constant> </simpara> </listitem> <listitem> <simpara> <constant>ILL_BADSTK</constant> </simpara> </listitem> <listitem> <simpara> <constant>ILL_COPROC</constant> </simpara> </listitem> <listitem> <simpara> <constant>ILL_ILLADR</constant> </simpara> </listitem> <listitem> <simpara> <constant>ILL_ILLOPC</constant> </simpara> </listitem> <listitem> <simpara> <constant>ILL_ILLOPN</constant> </simpara> </listitem> <listitem> <simpara> <constant>ILL_ILLTRP</constant> </simpara> </listitem> <listitem> <simpara> <constant>ILL_PRVOPC</constant> </simpara> </listitem> <listitem> <simpara> <constant>ILL_PRVREG</constant> </simpara> </listitem> <listitem> <simpara> <constant>POLL_ERR</constant> </simpara> </listitem> <listitem> <simpara> <constant>POLL_HUP</constant> </simpara> </listitem> <listitem> <simpara> <constant>POLL_IN</constant> </simpara> </listitem> <listitem> <simpara> <constant>POLL_MSG</constant> </simpara> </listitem> <listitem> <simpara> <constant>POLL_OUT</constant> </simpara> </listitem> <listitem> <simpara> <constant>POLL_PRI</constant> </simpara> </listitem> <listitem> <simpara> <constant>SEGV_ACCERR</constant> </simpara> </listitem> <listitem> <simpara> <constant>SEGV_MAPERR</constant> </simpara> </listitem> <listitem> <simpara> <constant>SI_ASYNCIO</constant> </simpara> </listitem> <listitem> <simpara> <constant>SI_KERNEL</constant> </simpara> </listitem> <listitem> <simpara> <constant>SI_MESGQ</constant> </simpara> </listitem> <listitem> <simpara> <constant>SI_NOINFO</constant> </simpara> </listitem> <listitem> <simpara> <constant>SI_QUEUE</constant> </simpara> </listitem> <listitem> <simpara> <constant>SI_SIGIO</constant> </simpara> </listitem> <listitem> <simpara> <constant>SI_TIMER</constant> </simpara> </listitem> <listitem> <simpara> <constant>SI_TKILL</constant> </simpara> </listitem> <listitem> <simpara> <constant>SI_USER</constant> </simpara> </listitem> <listitem> <simpara> <constant>SIG_BLOCK</constant> </simpara> </listitem> <listitem> <simpara> <constant>SIG_SETMASK</constant> </simpara> </listitem> <listitem> <simpara> <constant>SIG_UNBLOCK</constant> </simpara> </listitem> <listitem> <simpara> <constant>TRAP_BRKPT</constant> </simpara> </listitem> <listitem> <simpara> <constant>TRAP_TRACE</constant> </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.ini"> <title>INIファイル の扱いに関する変更</title> <para> PHP 5.3.0 はパフォーマンスが大きく向上しました。そして構文解析や構文の新機能があります。 </para> <itemizedlist> <listitem> <simpara> 標準の &php.ini; ファイルは再び整理され、名前が変更されました。 <literal>php.ini-development</literal> ファイルには開発環境で推奨される設定があります。 <literal>php.ini-production</literal> は本番環境向けに設定されています。 </simpara> </listitem> <listitem> <simpara> <literal>[PATH=/opt/httpd/www.example.com/]</literal> と <literal>[HOST=www.example.com]</literal> という特別なセクションをサポートしました。 このセクションに置かれたディレクティブは、 実行時やユーザー定義のiniファイルで上書きすることができません。 詳しい情報は <link linkend="ini.sections">こちら</link> を参照してください。 </simpara> </listitem> <listitem> <simpara> <literal>zend_extension_debug</literal> と <literal>zend_extension_ts</literal> ディレクティブが削除されました。代替として <literal>zend_extension</literal> をすべてのZend拡張機能をロードするのに使ってください。 </simpara> </listitem> <listitem> <simpara> <literal>zend.ze1_compatibility_mode</literal> ディレクティブは削除されました。 このディレクティブをONにしていると、<constant>E_ERROR</constant> エラーが起動時に発生します。 </simpara> </listitem> <listitem> <simpara> "<link linkend="ini.extension"><literal>extension</literal></link>" ディレクティブを使ってロードするモジュールをフルパスで指定できるようになりました。 </simpara> </listitem> <listitem> <simpara> &php.ini; ファイルのほとんどすべての場所で <literal>"ini-variables"</literal> の形式が使えるようになりました。 </simpara> </listitem> <listitem> <simpara> 実行時に <literal>open_basedir</literal> の制限をより厳しくできるようになりました。 </simpara> </listitem> <listitem> <simpara> INI オプションの配列で 数値とアルファベットが混じった値が使えるようになりました。 </simpara> </listitem> <listitem> <simpara> <function>get_cfg_var</function> 関数は "配列の" INIオプションを返せるようになりました。 </simpara> </listitem> <listitem> <simpara> 新たなディレクティブ mail.add_x_header が追加されました。 </simpara> </listitem> <listitem> <simpara> user_ini.filename も追加されました。 </simpara> </listitem> <listitem> <simpara> user_ini.cache_ttl も追加されました。 </simpara> </listitem> <listitem> <simpara> exit_on_timeout も追加されました。 </simpara> </listitem> <listitem> <simpara> open_basedir が PHP_INI_ALL となりました。 </simpara> </listitem> </itemizedlist> <para> 新しく追加された iniディレクティブ は以下の通りです。 </para> <itemizedlist> <listitem> <simpara> <literal>user_ini.filename</literal> と <literal>user_ini.cache_ttl</literal> は、ユーザー定義の新しい初期化メカニズムを提供します。 </simpara> </listitem> <listitem> <simpara> <literal>mbstring.http_output_conv_mimetype</literal> が追加されました。 このディレクティブは <function>mb_output_handler</function> 関数が呼び出された場合に使う Content-Type の正規表現パターンを指定します。 </simpara> </listitem> <listitem> <simpara> <literal>request_order</literal> ディレクティブが追加されました。 これはどのリクエストオプションを <varname>$_REQUEST</varname> 変数で正確に利用可能にすべきかを指定します。 </simpara> </listitem> </itemizedlist> <para> デフォルト値が変更された ini ディレクティブは以下の通りです。 </para> <itemizedlist> <listitem> <simpara> <literal>session.use_only_cookies</literal> のデフォルト値は <literal>"1"</literal> (有効) になりました。 </simpara> </listitem> <listitem> <simpara> <literal>oci8.default_prefetch</literal> の値は <literal>"10"</literal> から <literal>"100"</literal> に変更されました。 </simpara> </listitem> </itemizedlist> </section> <section xml:id="migration53.other"> <title>その他の変更</title> <itemizedlist> <listitem> <simpara> <function>SplFileInfo::getpathinfo</function> メソッドは、パス名に関する情報を返すようになりました。 </simpara> </listitem> <listitem> <simpara> <classname>SplObjectStorage</classname> クラス は <classname>ArrayAccess</classname> インターフェイスをサポートしました。オブジェクトに関連付けた情報を <classname>SplObjectStorage</classname> に格納することもできるようになっています。 </simpara> </listitem> <listitem> <simpara> GD関数では、<function>imagefilter</function> 関数を使ってモザイク効果を適用できるようになりました。 </simpara> </listitem> <listitem> <simpara> <function>var_dump</function> 関数の出力に private なオブジェクトメンバの値も含まれるようになりました。 </simpara> </listitem> <listitem> <simpara> <function>session_start</function> 関数はセッションの開始に失敗すると &false; を返します。 </simpara> </listitem> <listitem> <simpara> <function>property_exists</function> 関数はプロパティのアクセス制限に関係なくプロパティの存在をチェックするようになりました(<function>method_exists</function> と似た動作をします) </simpara> </listitem> <listitem> <simpara> <link linkend="wrappers">ストリームラッパー</link> は <link linkend="ini.include-path">include_path</link> で制御できるようになりました。 </simpara> </listitem> <listitem> <simpara> <function>array_reduce</function> 関数の <parameter>initial</parameter> 引数にあらゆる型の値を渡せるようになりました。 </simpara> </listitem> <listitem> <simpara> <link linkend="ref.dir">ディレクトリ関数</link> <function>opendir</function>, <function>scandir</function>, そして <function>dir</function> 関数は context 引数が渡されなければ、デフォルトのコンテキストを使うようになりました。 </simpara> </listitem> <listitem> <simpara> <function>crypt</function> 関数が Blowfish と 拡張 DES をサポートし、 <function>crypt</function> 関数の機能は100%移植可能になりました。 PHP は <literal>crypt</literal> や <literal>crypt_r</literal> のサポートがないプラットフォーム場合に使う crypt の内部実装を持っています。 </simpara> </listitem> <listitem> <simpara> <function>getopt</function> 関数は全てのプラットフォームで "長いオプション(--で始まる引数)" を受け付けるようになりました。 オプションの(必須でない)値に対応し、引数と値の区切り文字として <literal>=</literal> が使えるようになりました。 </simpara> </listitem> <listitem> <simpara> <function>fopen</function> 関数の mode 引数に (<literal>n</literal>) が加わりました。これを渡すと、 <constant>O_NONBLOCK</constant> が <literal>syscall()</literal> を呼ぶときに渡されます。 </simpara> </listitem> <listitem> <simpara> <function>opendir</function>, <function>dir</function>, そして <function>scandir</function> 関数は、 context 引数が渡されない場合にデフォルトのコンテキストを扱わなくなりました。 </simpara> </listitem> <listitem> <simpara> <function>getimagesize</function> 関数は、アイコンファイル (.ico) をサポートするようになりました。 </simpara> </listitem> </itemizedlist> </section> </appendix> <!-- 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 -->
« previous php.doc.ja (#2490) next »