2012-03-05 81 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函數是用於實例化對象的保留關鍵字,並且不是可覆蓋的函數。

相關問題