如何解决PHP类属性声明类型时出现的语法错误
问题原因
- 核心触发因素是两个编辑器绑定的PHP运行版本不一致:类属性的类型声明是PHP 7.4才正式支持的语法特性,版本低于7.4的PHP解析器无法识别属性前的
string类型标识,会直接抛出你遇到的语法错误。 - VS Code当前调用的PHP解析器版本<7.4,Sublime Text绑定的PHP解析器版本≥7.4,因此同一段代码在两个编辑器中运行结果不同。
修复方案
方案1:保留类型声明(推荐)
类型声明可以提升代码可读性和可维护性,优先选择该方案:
- 首先在本地终端执行
php -v命令,确认你本地安装的PHP版本号 - 若本地PHP版本本身≥7.4,仅需修改VS Code的PHP配置:打开VS Code设置页,搜索
php.validate.executablePath,将配置值修改为你本地高版本PHP的可执行文件绝对路径即可 - 若本地PHP版本<7.4,先将本地PHP升级到7.4及以上版本,再同步修改VS Code的PHP路径配置
方案2:兼容低版本PHP
如果当前环境不允许升级PHP版本,直接删除属性前的类型声明即可正常运行,修改后代码如下:
class Product { private $name; private $type; private $sku; }
内容的提问来源于stack exchange,提问作者Iqbal Ardyanshah
相关产品推荐
相关产品推荐

