2012-03-05 78 views
1

我在Code Igniter中创建了一个用户模型。为什么我在PHP中遇到意外的T_NEW错误?

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

'公共函数new'应该是'public function newUser'。新增功能用于创建类的实例。并且关键字不能用作函数名称。顺便说一句,你的代码突出显示已经告诉你这个吗? – PeeHaa 2012-03-05 23:17:32

回答

10

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

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

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

+1

http://www.php.net/manual/zh/reserved.keywords.php – 2012-03-05 23:20:17

2

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

相关问题