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

时间:2012-03-05 23:16:23

标签: 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')");
    }
}

但是,我收到了这个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?为什么我收到错误?

2 个答案:

答案 0 :(得分:12)

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

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

  

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

答案 1 :(得分:2)

new函数是用于实例化对象的保留关键字,不是可覆盖的函数。