PHP82弃用通过在字符串插入变

白癜风注意 http://m.39.net/pf/a_4785535.html
白癜风用什么药治疗好 http://baidianfeng.39.net/a_ht/131207/4304149.html

出品

开源中国

局长

PHP社区4月底通过了一项只有一张反对票的提案,提案内容是在即将发布的PHP8.2中,不再支持使用${}在字符串中插入变量的语法(标记为弃用状态),并在PHP9删除该语法。

目前PHP可通过以下方式在带有双引号(")和heredoc的字符串中插入变量。

直接插入变量:“$foo”

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

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

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

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

因此,IlijaTovilo提交的RFC正是建议在PHP8.2中弃用上述3和4的语法,并在PHP9.0中将其删除。

var_dump("${foo}");//Deprecated:Using${}instringsisdeprecatedvar_dump("${(foo)}");//Deprecated:Using${}(variablevariables)instringsisdeprecated

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


转载请注明:http://www.aierlanlan.com/rzgz/4961.html