VS Code - 无法识别 php 8 语法

VS Code - does not recognize php 8 syntax

提问人:ConfusedProgrammer 提问时间:7/7/2021 最后编辑:Paul T.ConfusedProgrammer 更新时间:3/6/2023 访问量:1218

问:

我最近用PHP设置了vsCode。 但是,它会在以下行上显示错误。

public static function myFunction(): bool|string

错误:语法错误,意外的“|”,需要“;”或“{”

$app->options('/{routes:.+}', fn (ResponseInterface $response) => $response);

错误:语法错误,意外的“$response”(T_VARIABLE),预期 ')'

我怎样才能让它认识到这是正确的语法。

php visual-studio-代码

评论

0赞 Abhishek 11/11/2021
你找到解决方案了吗?
1赞 MisterG13 6/3/2022
您是否尝试过更改 vscode 的 php 位置...stackoverflow.com/a/71316312/19070801
0赞 BadHorsie 1/31/2023
这回答了你的问题吗?如何在VScode中更改PHP的版本?

答:

-1赞 Nita Pindariya 3/2/2023 #1

打开 Visual Studio Code 设置并验证该指令是否设置为 。intelephense.environment.phpVersion"8.1.0"

2赞 Álvaro González 3/3/2023 #2

除非安装提供自己的自定义 PHP 分析器的第三方扩展,否则 Visual Studio Code 仅依赖于你安装的 PHP 解释器来对文件进行 lint 处理。这是由 PHP 语言功能内置扩展提供的。

我将从您的变量中选择您的 PHP 解释器。弄清楚它的一种简单方法是在 CMD 或 PowerShell 窗口中键入:PATHphp -v

C:\>php -v
PHP 8.1.15 (cli) (built: Jan 31 2023 23:50:48) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.1.15, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.15, Copyright (c), by Zend Technologies

如果未添加它,或者想要使用其他解释器,则可以在指令中设置自定义路径。php.validate.executablePath

在撰写本文时,此设置没有可视化编辑器,因此您需要将其编辑为 JSON。Windows 目录分隔符 () 是 JSON 中的一个特殊字符,因此您需要转义它或使用 Unix 分隔符 (\/)

"php.validate.executablePath": "C:\\PHP\\php.exe"
"php.validate.executablePath": "C:/PHP/php.exe"