ホームページ  >  記事  >  バックエンド開発  >  PHP 8.2 は、文字列に変数を挿入するための ${} の使用をサポートしなくなりました

PHP 8.2 は、文字列に変数を挿入するための ${} の使用をサポートしなくなりました

青灯夜游
青灯夜游転載
2022-05-11 11:33:373738ブラウズ

PHP コミュニティは、4 月末にたった 1 つの反対票で提案を可決しました。提案の内容は、次期 PHP 8.2 では、${} を使用して文字列に変数を挿入する構文は廃止されるというものです。サポートされている (非推奨としてマークされている) ステータス)、その構文は PHP 9 で削除されました。

"PHP

現在、PHP では、次の方法で二重引用符 (") で囲まれた文字列およびヒアドキュメントに変数を挿入できます。

  • 変数を直接挿入します: “$foo”

  • 変数の外側に中括弧を追加します: “{$foo} ”

  • ##$ 記号の後に中括弧を追加します: “${foo}”

  • 変数変数の構文を定義します (

    "${expr}" (文字列) ${expr}

#Ilija Tovilo、提案を提出した開発者は、1.と2.の書き方にはそれぞれ長所と短所があると考えており、3.と4.の書き方は混同しやすく、4.はセマンティクス(変数)が全く異なり、あまり使用されない。文字列に変数を挿入する

したがって、Ilija Tovilo によって提出された RFC は、上記の構文 3 と 4 を PHP 8.2 で非推奨にし、PHP 9.0 で削除することを提案しています。この提案で、Ilija Tovilo は Packagegist の上位 1000 リポジトリを分析し、上記 3 つの構文が 267 回使用され、4 つは 0 回のみ使用されたことがわかりました。 .com/iluuu1994/05427dd74100af8e41ebff3d4201742c

Ilija Tovilo 氏は、他の多くのプログラミング言語も

${foo}
構文を使用して文字列変数に挿入していると考えています。 JavaScript (テンプレート リテラル内)。ただし、その動作は PHP とは異なります。PHP では、この構文は変更可能な変数を定義することを意味します。JavaScript では、任意の式をサポートします。PHP の現在の形式では、上記のオプション 3 と 4 の使用は限定的であり、同様の構文を持つ他のプログラミング言語を使用する開発者は、動作がまったく異なるため、混乱を招く可能性があります。

将来的には、Ilija Tovilo は次の構文をサポートしたいと考えています:
var_dump("${foo}");
// Deprecated: Using ${} in strings is deprecated
 
var_dump("${(foo)}");
// Deprecated: Using ${} (variable variables) in strings is deprecated

彼は、自分で決めれば次のようになると信じています。これを行うには、混乱をこれ以上増やさないように、最初にあまり役に立たないオプションを削除する必要があります。Ilija Tovilo は、この RFC 目標を提出することで達成したいと考えています。 推奨される学習: "

PHP ビデオ チュートリアル

"

以上がPHP 8.2 は、文字列に変数を挿入するための ${} の使用をサポートしなくなりましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はOSC开源社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。