2012-03-05 4 views
1

코드 이그니 터에서 사용자 모델을 만들었습니다.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

'public function new'는'public function newUser'이어야합니다. 새로운 것은 클래스의 인스턴스를 만드는 것입니다. 키워드는 함수 이름으로 사용할 수 없습니다. BTW는 이미 코드를 강조 표시하지 않았습니까? – PeeHaa

답변

10

newnew Person('Joe')과 같은 새 개체를 만들기위한 예약어입니다. 함수의 이름을 변경해야합니다.

참조를 위해 http://php.net/manual/en/reserved.keywords.php을 참조하십시오.

이 단어는 PHP에서 특별한 의미가 있습니다. 그 중 일부는 기능처럼 보이는 을 나타내고, 일부는 상수처럼 보입니다. 그러나 그들은 실제로는 언어 구성체입니다. 다음 단어 중 을 상수, 클래스 이름, 함수 또는 메서드 이름으로 사용할 수 없습니다. 일반적으로 변수 이름으로 사용하면 좋지만 혼란이 올 수 있습니다.

+1

http://www.php.net/manual/en/reserved.keywords.php –

2

new은 개체를 인스턴스화하기 위해 예약 된 키워드이며 재정의 할 수있는 기능이 아닙니다.

관련 문제