PHP 8 评论错误

Posted

技术标签:

【中文标题】PHP 8 评论错误【英文标题】:PHP 8 Comments bug 【发布时间】:2021-05-06 17:47:37 【问题描述】:

在以前的 php 版本中,我们有这样的代码 cmets

#[Socket panel]

更新到 PHP 8 后出现错误

syntax error, unexpected identifier "panel", expecting "]"

这是新 PHP 8 中的错误还是我遗漏了什么?是否有任何解决方案来支持旧评论。

【问题讨论】:

那些不是 PHP 8 中的 cmets 而是属性 attributes 这能回答你的问题吗? Can I use a hash sign (#) for commenting in PHP? 副本中接受的答案已更新以反映属性。 知道了,全部查找并替换:) 【参考方案1】:

在新的 PHP 8 中,这些不是 cmets,而是属性。

他们已将属性语法从 <<attr>> 更改为 #[attr]。 (见this。)

【讨论】:

其实那个RFC的结果是从<<attr>>变成@@attr;然后是yet another RFC,经过长时间的辩论和大约十几个不同的建议,将其更改为#[attr]。但这都是 8.0.0 之前的事情,所以任何人都需要知道#[attr] 是实际“发布”的语法。【参考方案2】:

在 PHP 8 中,您现在拥有以以下样式使用的属性 #[Testclass] 这就是您收到此错误的原因。

https://stitcher.io/blog/attributes-in-php-8

您必须将该 cmets 更改为另一种样式。

【讨论】:

我错过了这个变化

以上是关于PHP 8 评论错误的主要内容,如果未能解决你的问题,请参考以下文章

为啥添加 CSS 后我的 PHP 代码中没有显示错误消息?

2017年8月20日第五篇

CentOS 8 Nginx 与 PHP 7.4.8,PHP 未执行并给出内部服务器错误

升级到 PHP 7.0.8 后出现“致命错误:无法声明类”

runkit 针对 php 5.3.8 编译错误?

PHP 错误:类 'Illuminate/Foundation/Auth/Admin' [Laravel 8]