Почему я получаю неожиданную ошибку T_NEW в PHP? - PullRequest
1 голос
/ 06 марта 2012

Я создал пользовательскую модель в 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 ]

12 голосов
/ 06 марта 2012

new - зарезервированное слово для создания новых объектов, например new Person('Joe').Вы должны переименовать вашу функцию.

См. http://php.net/manual/en/reserved.keywords.php для справки.

Эти слова имеют особое значение в PHP.Некоторые из них представляют вещи, которые выглядят как функции, некоторые - как константы и т. Д., Но на самом деле это не так: они являются языковыми конструкциями.Вы не можете использовать любое из следующих слов в качестве констант, имен классов, функций или методов.Обычно их можно использовать в качестве имен переменных, но это может привести к путанице.

2 голосов
/ 06 марта 2012

Функция new является зарезервированным ключевым словом для создания экземпляра объекта и не может быть переопределена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...