You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP应用出现unexpected 'public'语法错误,寻求解决方案

解决PHP构造函数中"unexpected 'public' (T_PUBLIC)"错误

这个错误是因为你用了PHP 8.0才引入的构造函数属性提升语法,如果你的PHP版本低于8.0,PHP无法识别这种写法,就会抛出语法错误。

解决方法有两种:

  • 升级PHP到8.0及以上版本,直接保留现有代码即可,属性提升是PHP8的官方特性,能自动把构造函数参数转为类属性。
  • 若暂时无法升级PHP,把属性提升的写法拆成传统的类属性定义+构造函数赋值,修改后的代码如下:
class User
{
    public const STATUS_ACTIVE = 'active';
    public const STATUS_INACTIVE = 'inactive';

    public string $username;
    public string $status;

    public function __construct(string $username, string $status = self::STATUS_ACTIVE)
    {
        $this->username = $username;
        $this->status = $status;
    }
}

把原来构造函数参数前的public移到类里单独定义属性,再在构造函数内给属性赋值,低版本PHP就能正常解析了。

内容的提问来源于stack exchange,提问作者sebastien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 19:54:28