为什么我在PHP中遇到了一个意外的T_NEW错误?

a0zr77ik  于 2023-01-12  发布在  PHP
关注(0)|答案(3)|浏览(125)

我在Code Igniter中创建了一个用户模型。

class User extends CI_Model {
    function __construct() {
        parent::__construct();
    }

    public function new($username, $email, $password, $studentID="") {
        $this->db->query("INSERT INTO user VALUES (0, '$username', '$email', '$password', '$studentID')");
    }
}

然而,我得到这个PHP错误.

Parse error: syntax error, unexpected T_NEW, expecting T_STRING in /home/davidfaux/testApp/application/models/user.php on line 12

12号线,顺便说一句,是这条线。

public function new($username, $email, $password, $studentID="") {

什么是T_NEW?为什么会出现错误?

trnvg8h3

trnvg8h31#

new是用于创建新对象的保留字,如new Person('Joe')。您应该重命名函数。
请参见http://php.net/manual/en/reserved.keywords.php以获取参考。
这些词在PHP中有特殊的含义。它们中的一些表示看起来像函数的东西,一些表示看起来像常量的东西,等等--但实际上它们不是:它们是语言构造。2你不能使用下列任何一个词作为常量,类名,函数名或方法名。3使用它们作为变量名通常是可以的,但是可能会导致混淆。

c0vxltue

c0vxltue2#

new函数是用于示例化对象的保留关键字,并且不是可重写函数。

qv7cva1a

qv7cva1a3#

接受的答案是正确的。
但我的情况是不同的,我被重定向到这里,为相同的错误搜索。
我的案例:
该项目在server 1上运行。
对于研发,我在server 2上上传了相同的代码。
在server 2上,我遇到了上述错误。

**原因:

“PHP 7.0中添加了对”NEW“的支持”**
所以我检查了我的PHP版本,它是较低的。
使用phpinfo()检查PHP版本;

相关问题