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

PHP 7.4出现T_STRING语法错误,请求排查User类第6行问题

解决PHP类属性类型声明的语法错误问题

这个错误很典型,咱们一步步拆解解决:

错误核心原因

你碰到的 Parse error: syntax error, unexpected 'string' 本质是PHP版本不支持类属性的标量类型声明。虽然你说使用的是PHP7.4,但大概率你的XAMPP环境里的PHP版本实际低于7.4——毕竟PHP7.4才正式引入private string $firstName;这种属性类型声明的写法,在7.3及更早版本中,PHP会把string当成未识别的标识符,直接触发语法错误。

两种可行解决方案

你可以根据自身情况选择:

方案1:升级PHP到7.4或更高版本

打开XAMPP控制面板,查看PHP模块的实际版本号。如果确实低于7.4,直接升级XAMPP到包含PHP7.4的版本,或者替换XAMPP内的PHP目录为官方发布的7.4版本包。升级完成后,你原本的属性类型声明写法就是完全合法的。

方案2:移除属性类型声明,用Setter方法做类型校验

如果暂时无法升级PHP,你可以去掉类属性的类型声明,保留setName方法里的类型检查逻辑(你已经写了一部分),既能保证类型安全,又能兼容低版本PHP。

修正后的User类代码示例:

<?php
class User {
    // 移除属性的类型声明
    private $firstName;
    private $lastName;
    private $email;
    private $password;
    private $rePassword;

    /**
     * @param string $firstName
     */
    public function setName(string $newName) {
        // 原有校验逻辑可完整保留
        if (($this->checkIfThereNumber($newName) === 0) && ($this->checkIfThereSpecialCharacters($newName) === 0)) {
            if ($this->checkLengthOfName($newName) == false) {
                if ($this->checkOccurrenceOfLetter($newName) == true) {
                    $this->firstName = $newName;
                    echo "your {$newName} was created successful";
                } else {
                    die();
                }
            } else {
                echo "<script> alert('the length of your first name " . $newName . " is not allowed. It should be 3 or more but not more than 10 ')</script>";
                die();
            }
        } else {
            echo "<script> alert('your marke name " . $newName . " contain not acceptable items numbers and other special characters are not allowed ')</script>";
            die();
        }
    }

    // 记得补充你用到的checkIfThereNumber、checkLengthOfName等方法的实现
}

额外排查点

如果确认PHP版本确实是7.4,那可以检查两个小细节:

  • php.ini里是否有禁用类型声明特性的配置(这种情况极少);
  • 代码第6行前后是否有隐藏的特殊字符(比如全角空格、不可见符号),复制粘贴的代码偶尔会带这类问题导致语法报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:22:35