Heim > Backend-Entwicklung > PHP8 > Hauptteil

PHP 8.2 unterstützt nicht mehr die Verwendung von ${} zum Einfügen von Variablen in Strings

Freigeben: 2023-02-17 12:40:01
nach vorne
3721 Leute haben es durchsucht

Die PHP-Community hat Ende April einen Vorschlag mit nur einer negativen Stimme angenommen. Der Inhalt des Vorschlags besteht darin, dass in der kommenden PHP 8.2 die Syntax der Verwendung von ${} zum Einfügen von Variablen in einen String nicht mehr unterstützt wird (. als veraltet markiert), und diese Syntax wurde in PHP 9 entfernt.

"PHP

Derzeit kann PHP Variablen in Zeichenfolgen mit doppelten Anführungszeichen (") und Heredoc auf folgende Weise einfügen. ") 和 heredoc 的字符串中插入变量。

  • 直接插入变量: “$foo”

  • 在变量外添加花括号: “{$foo}”

  • $ 符号后面添加花括号: “${foo}”

  • 定义可变的变量语法 ( “${expr}”,等同于 (string) ${expr}

提交该提案的开发者 Ilija Tovilo 认为,第 1 和第 2 种方式各有利弊。第 3 和第 4 种写法则很容易混淆,并且 4 具有完全不同的语义 (variable variables),极少使用这种方式在字符串中插入变量。

因此,Ilija Tovilo 提交的 RFC 正是建议在 PHP 8.2 中弃用上述 3 和 4 的语法,并在 PHP 9.0 中将其删除。

var_dump("${foo}");
// Deprecated: Using ${} in strings is deprecated
 
var_dump("${(foo)}");
// Deprecated: Using ${} (variable variables) in strings is deprecated
Nach dem Login kopieren

对于此提案的影响,Ilija Tovilo 通过对 Packagegist 上的 Top 1000 仓库进行分析得出:上述 3 的语法有 267 次被使用,4 只有 0 次。

分析源码:https://gist.github.com/iluuu1994/05427dd74100af8e41ebff3d4201742c

Ilija Tovilo 认为,许多其他编程语言也使用 ${foo}

Ilija, der Entwickler, der den Vorschlag eingereicht hat, glaubt Tovilo Die 1. und 2. Methode haben ihre eigenen Vor- und Nachteile, und die 4. Methode hat eine völlig unterschiedliche Semantik (Variablenvariablen). , schlägt der von Ilija Tovilo eingereichte RFC vor, die Syntax von 3 und 4 oben in PHP 8.2 zu verwerfen und in PHP 9.0 zu entfernen. 🎜
var_dump("{$:func()}")
Nach dem Login kopieren
🎜 Zu den Auswirkungen dieses Vorschlags äußerte sich Ilija Tovilo auf Packagegist. Die Analyse der Top 1000 Repositories zeigt dies Die obige 3-Syntax wurde 267-mal verwendet und 4 nur 0-mal dass viele andere Programmiersprachen ebenfalls die Syntax ${foo} verwenden, um Variablen in Zeichenfolgen einzufügen, wie z. B. Bash und JavaScript (in Template-Literalen), sich jedoch genauso verhalten wie in Template-Literalen In PHP bedeutet diese Syntax die Definition veränderlicher Variablen. In der aktuellen Form von PHP sind die Optionen 3 und 4 für andere Zwecke nicht nützlich Bei ähnlicher Syntax sind die beiden Verhaltensweisen völlig unterschiedlich und daher verwirrend. 🎜🎜In Zukunft hofft Ilija Tovilo, die folgende Syntax zu unterstützen: 🎜rrreee🎜 Er glaubt, dass, wenn Sie sich dafür entscheiden, zuerst weniger entfernt werden müssen spezifische Syntax. Nützliche Optionen, um weitere Verwirrung zu vermeiden. Dies möchte Ilija Tovilo mit der Einreichung dieses RFC erreichen. 🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonPHP 8.2 unterstützt nicht mehr die Verwendung von ${} zum Einfügen von Variablen in Strings. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:OSC开源社区
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!