From a3fe4624bd1f83e6889999edb1b75408d7d95e2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A6=E7=94=B0=20=E6=86=B2=E5=A4=AA=E9=83=8E?= Date: Sun, 9 Aug 2026 15:37:09 +0900 Subject: [PATCH 1/4] =?UTF-8?q?PDO=E3=83=BBPDO=5FPGSQL=E3=83=BBPDO=5FFireb?= =?UTF-8?q?ird=20=E3=81=AE=20PHP=208.4=20=E3=81=AE=E5=A4=89=E6=9B=B4?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=BE=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit php/doc-en#5703(ext/pdo: PHP 8.4 changes across PDO, PDO_PGSQL and PDO_Firebird)に追従。 - reference/pdo/pdo/prepare.xml — ドライバ固有の SQL パーサーの説明を追加。 あわせて 8.4.0 より前のパーサーについての注記を過去形にする - reference/pdo/pdo/getattribute.xml — 取得できる属性の一覧を原文に合わせて差し替え - reference/pdo/pdostatement/getattribute.xml — Pdo\Pgsql::ATTR_RESULT_MEMORY_SIZE を追加 - reference/pdo_pgsql/reference.xml — DSN の認証情報がコンストラクタの引数より 優先される旨の注記を追加 - reference/pdo_pgsql/pdo-pgsql.xml — ドル記号で囲まれた文字列の中で疑問符を ?? としてエスケープすることが非推奨になった旨の注記を追加 - reference/pdo_pgsql/configure.xml — libpq 10.0 以降が必要になった旨を追加 - reference/pdo_firebird/configure.xml — C++ コンパイラと fbclient 3.0 以降が 必要になった旨を追加 --- reference/pdo/pdo/getattribute.xml | 12 ++++-------- reference/pdo/pdo/prepare.xml | 18 ++++++++++++++---- reference/pdo/pdostatement/getattribute.xml | 9 ++++++++- reference/pdo_firebird/configure.xml | 7 ++++++- reference/pdo_pgsql/configure.xml | 6 +++++- reference/pdo_pgsql/pdo-pgsql.xml | 11 ++++++++++- reference/pdo_pgsql/reference.xml | 11 ++++++++++- 7 files changed, 57 insertions(+), 17 deletions(-) diff --git a/reference/pdo/pdo/getattribute.xml b/reference/pdo/pdo/getattribute.xml index 4e2a658413f..e8907111f3b 100644 --- a/reference/pdo/pdo/getattribute.xml +++ b/reference/pdo/pdo/getattribute.xml @@ -1,6 +1,6 @@ - + @@ -41,18 +41,14 @@ PDO::ATTR_* 定数の 1 つを指定します。 データベース接続に適用される一般的な属性は以下の通りです。 - PDO::ATTR_AUTOCOMMIT PDO::ATTR_CASE - PDO::ATTR_CLIENT_VERSION - PDO::ATTR_CONNECTION_STATUS + PDO::ATTR_DEFAULT_FETCH_MODE PDO::ATTR_DRIVER_NAME PDO::ATTR_ERRMODE PDO::ATTR_ORACLE_NULLS PDO::ATTR_PERSISTENT - PDO::ATTR_PREFETCH - PDO::ATTR_SERVER_INFO - PDO::ATTR_SERVER_VERSION - PDO::ATTR_TIMEOUT + PDO::ATTR_STATEMENT_CLASS + PDO::ATTR_STRINGIFY_FETCHES diff --git a/reference/pdo/pdo/prepare.xml b/reference/pdo/pdo/prepare.xml index cb78ef9f270..6700f2394b7 100644 --- a/reference/pdo/pdo/prepare.xml +++ b/reference/pdo/pdo/prepare.xml @@ -1,6 +1,6 @@ - + @@ -63,15 +63,16 @@ + PHP 8.4.0 より前のバージョンでは、 エミュレートされたプリペアドステートメントと、 名前パラメータやクエスチョンマークを書き換えるパーサーは、[シングル|ダブル]クォート - に対して標準とは異なるエスケープをサポートしています。 + に対して標準とは異なるエスケープをサポートしていました。 これによって、バックスラッシュのすぐ後にクォートで終了するクエリは そのままの形では認識されず、間違ったパラメータとして認識され、 - 実行されたときにプリペアドステートメントが失敗してしまいます。 + 実行されたときにプリペアドステートメントが失敗してしまうことがありました。 回避策は、プリペアドステートメントのエミュレートをこの手のSQLクエリでは使わないようにし、 かつ、ドライバがネイティブにサポートしているパラメータ形式を使うことで、 - パラメータの書き換えを避けることです。 + パラメータの書き換えを避けることでした。 @@ -81,6 +82,15 @@ クエリをデータベースに送信する時に ? に変換されるということです。 + + PHP 8.4.0 以降では、PDO はパラメータマーカーを探すためにドライバ固有の SQL + パーサーを使います。これによって、文字列リテラルやコメントの中に現れるマーカーが + プレースホルダと誤認されることはありません。 + デフォルトのパーサーは、シングルクオートやダブルクオートで囲まれた文字列リテラルと、 + 2 つのハイフンによるコメント、ネストされていない C 言語形式のコメントを認識します。 + ドライバによっては、追加の構文や異なる構文を認識するパーサーを提供している + 場合があります。詳細はドライバ固有のドキュメントを参照してください。 + &reftitle.parameters; diff --git a/reference/pdo/pdostatement/getattribute.xml b/reference/pdo/pdostatement/getattribute.xml index c108e019c12..7b9bf9670ea 100644 --- a/reference/pdo/pdostatement/getattribute.xml +++ b/reference/pdo/pdostatement/getattribute.xml @@ -1,6 +1,6 @@ - + @@ -25,6 +25,13 @@ UPDATE ... WHERE CURRENT OF に対するカーソル名を取得する + + + Pdo\Pgsql::ATTR_RESULT_MEMORY_SIZE + (PostgreSQL 固有、PHP 8.4.0 以降で利用可能): + クエリ結果に割り当てられたメモリ使用量をバイト単位で取得する + + ドライバ固有の属性は、 他のドライバでは使っては いけない diff --git a/reference/pdo_firebird/configure.xml b/reference/pdo_firebird/configure.xml index 86452bec96a..6207b32c6ef 100644 --- a/reference/pdo_firebird/configure.xml +++ b/reference/pdo_firebird/configure.xml @@ -1,6 +1,6 @@ - +
&reftitle.install; @@ -13,6 +13,11 @@ $ ./configure --with-pdo-firebird ]]> + + PHP 8.4.0 以降、この拡張モジュールは Firebird C++ API を使用しているため、 + ビルドには C++ コンパイラが必要です。 + また、fbclient 3.0 以降でビルドする必要があります。 +
- +
&reftitle.install; @@ -13,6 +13,10 @@ $ ./configure --with-pdo-pgsql ]]> + + この拡張モジュールには、libpq(PostgreSQL の C クライアントライブラリ)が必要です。 + PHP 8.4.0 以降では、libpq 10.0 以降が必要です。 +
- + Pdo\Pgsql クラス @@ -46,6 +46,15 @@ + + + このパーサーはドル記号で囲まれた文字列リテラルを認識するため、 + その中にある疑問符はパラメータのプレースホルダとして扱われず、 + エスケープする必要もありません。 + PHP 8.4.0 以降、ドル記号で囲まれた文字列の中で疑問符を + ?? としてエスケープすることは非推奨です。 + + diff --git a/reference/pdo_pgsql/reference.xml b/reference/pdo_pgsql/reference.xml index f426dca50f7..72fcbd34d5c 100644 --- a/reference/pdo_pgsql/reference.xml +++ b/reference/pdo_pgsql/reference.xml @@ -1,6 +1,6 @@ - + @@ -122,6 +122,15 @@ + + + PHP 8.4.0 以降、DSN で指定した認証情報 + (userpassword) が、 + PDO コンストラクタに渡した + 対応する引数よりも優先されます。 + これより前のバージョンでは、PDO コンストラクタの引数のほうが優先されていました。 + + DSN 文字列における全てのセミコロンは、スペースで置き換えられます。 From 07d3dd37612a5196b0997ececd7fb719e73afdd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A6=E7=94=B0=20=E6=86=B2=E5=A4=AA=E9=83=8E?= Date: Sun, 9 Aug 2026 15:37:14 +0900 Subject: [PATCH 2/4] =?UTF-8?q?SimpleXML=20=E3=81=A7=E6=9A=97=E9=BB=99?= =?UTF-8?q?=E3=81=AE=E5=B7=BB=E3=81=8D=E6=88=BB=E3=81=97=E3=81=8C=E3=81=AA?= =?UTF-8?q?=E3=81=8F=E3=81=AA=E3=81=A3=E3=81=9F=E3=81=93=E3=81=A8=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=BE=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit php/doc-en#5737(ext/simplexml: Document that get methods and string casts no longer implicitly rewind)に追従。PHP 8.4.0 以降、値を取得するメソッドの呼び出しと string へのキャストがイテレータを暗黙的に巻き戻さなくなった旨を追加する。 - reference/simplexml/simplexmlelement.xml - reference/simplexml/simplexmlelement/rewind.xml --- reference/simplexml/simplexmlelement.xml | 13 ++++++++++++- reference/simplexml/simplexmlelement/rewind.xml | 13 ++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/reference/simplexml/simplexmlelement.xml b/reference/simplexml/simplexmlelement.xml index 6dc4c82e072..e8e9a53864f 100644 --- a/reference/simplexml/simplexmlelement.xml +++ b/reference/simplexml/simplexmlelement.xml @@ -1,6 +1,6 @@ - + SimpleXMLElement クラス SimpleXMLElement @@ -57,6 +57,17 @@ + + 8.4.0 + + 値を取得するメソッド (SimpleXMLElement::asXML や + SimpleXMLElement::getName など) と、 + SimpleXMLElement の &string; へのキャストは、 + イテレータを暗黙的に巻き戻さなくなりました。 + 必要な場合は、SimpleXMLElement::rewind を使って + イテレータを明示的に巻き戻さなければなりません。 + + 8.0.0 diff --git a/reference/simplexml/simplexmlelement/rewind.xml b/reference/simplexml/simplexmlelement/rewind.xml index 7952d10b427..af3edb38b45 100644 --- a/reference/simplexml/simplexmlelement/rewind.xml +++ b/reference/simplexml/simplexmlelement/rewind.xml @@ -1,6 +1,6 @@ - + @@ -16,6 +16,17 @@ このメソッドは、SimpleXMLElement を最初の要素に巻き戻します。 + + + + PHP 8.4.0 以降では、値を取得するメソッド + (SimpleXMLElement::asXML や + SimpleXMLElement::getName など) を呼び出したり、 + SimpleXMLElement を &string; にキャストしたりしても、 + イテレータが暗黙的に巻き戻されることはなくなりました。 + 必要な場合は、このメソッドを呼び出してイテレータを明示的に巻き戻さなければなりません。 + + From b769e6966052746aa818556265a58a6d5f8d98a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A6=E7=94=B0=20=E6=86=B2=E5=A4=AA=E9=83=8E?= Date: Sun, 9 Aug 2026 15:37:21 +0900 Subject: [PATCH 3/4] =?UTF-8?q?language/basic-syntax.xml=20=E3=82=92?= =?UTF-8?q?=E5=8E=9F=E6=96=87=E3=81=AE=E4=BF=AE=E6=AD=A3=E3=81=AB=E8=BF=BD?= =?UTF-8?q?=E5=BE=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - php/doc-en#5724(Fix reference to non-existent "example three") 短縮タグの説明が、存在しない「例 3」を参照していた誤りを修正する。 このページに example は 1 つしかなく、その中で 3 つのコードが手で番号付け されているだけなので、原文は「上の例の 3 番目」を指す表現に変わった。 あわせて当該段落が para から simpara になったのを反映する。 - php/doc-en#5747(Example emits warning unrelated to content) 「条件を使った高度なエスケープ」のコード例が、未定義の変数 $expression を 参照していて内容と無関係な警告を出していたのを修正する。 --- language/basic-syntax.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/language/basic-syntax.xml b/language/basic-syntax.xml index ba1c181505e..c8514f8fcc6 100644 --- a/language/basic-syntax.xml +++ b/language/basic-syntax.xml @@ -1,6 +1,6 @@ - + @@ -41,13 +41,13 @@ - - 短縮型のタグ(例 3.)はデフォルトで有効ですが、 + + 短縮型のタグ(上の例の 3 番目)はデフォルトで有効ですが、 &php.ini; 設定ファイルのディレクティブ short_open_tag で無効にすることもできますし、 オプション付きで configure した場合は、 デフォルトで無効にすることも出来ます。 - + @@ -117,7 +117,7 @@ echo "最後のごあいさつ\n"; 条件文を使った高度な脱出 + 条件式が真の場合にこれが表示されます。 それ以外の場合にこちらが表示されます。 From c77d7fd371fc435211e573897ac47b74e56a4311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A6=E7=94=B0=20=E6=86=B2=E5=A4=AA=E9=83=8E?= Date: Sun, 9 Aug 2026 15:37:27 +0900 Subject: [PATCH 4/4] =?UTF-8?q?entities/entities.remove.ent=20=E3=81=AE=20?= =?UTF-8?q?revtag=20=E3=82=92=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit php/doc-en#5722(Convert and move global.ent into doc-en)で、削除予定の エンティティ 3 件(reference.pdo-cubrid.entities.PDO、 reference.pdo-pgsql.entities.PDO、reference.pdo-sqlite.entities.PDO)が このファイルに移された。 原文が「翻訳側は entities を空のままにし、revtag だけ更新する」と明記している ファイルなので、EN-Revision だけを更新する。上記 3 件は ja ツリーからの参照が ゼロであることを確認した。 --- entities/entities.remove.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entities/entities.remove.ent b/entities/entities.remove.ent index 197696a8f26..45653ee67f8 100644 --- a/entities/entities.remove.ent +++ b/entities/entities.remove.ent @@ -1,6 +1,6 @@ - +