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

dan*_*007 1 php codeigniter

我在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')");
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到此PHP错误.

Parse error: syntax error, unexpected T_NEW, expecting T_STRING in /home/davidfaux/testApp/application/models/user.php on line 12
Run Code Online (Sandbox Code Playgroud)

顺便说一句,第12行就是这条线.

public function new($username, $email, $password, $studentID="") {
Run Code Online (Sandbox Code Playgroud)

什么是T_NEW?为什么我收到错误?

biz*_*lop 12

new是一个用于创建新对象的保留字,例如new Person('Joe').你应该重命名你的功能.

请参阅http://php.net/manual/en/reserved.keywords.php以供参考.

这些词在PHP中具有特殊意义.其中一些代表看起来像函数的东西,一些看起来像常量,等等 - 但它们不是,真的:它们是语言结构.您不能将以下任何单词用作常量,类名,函数或方法名称.将它们用作变量名通常是可以的,但可能会导致混淆.