Ошибка PHP Невозможно использовать метод return> value в контексте записи - PullRequest
3 голосов
/ 17 января 2010

Я получаю эту ошибку в классе PHP ...

Неустранимая ошибка: невозможно использовать метод return значение в контексте записи в C: \ вебсервер \ HTDOCS \ friendproject2 \ входят \ классы \ User.class.php по линии 35

Вот проблемная часть.

if(isset($this->session->get('user_id')) && $this->session->get('user_id') != ''){
    //run code
}

Этот код находится в моем контроле, это значение еще не установлено для $ this-> session-> get ('user_id'), тогда он вернет false вместо Number. Итак, как вы можете видеть, я надеялся проверить, является ли это значение числом или нет или даже не установлено.

Любая помощь с установкой приветствуется.

Ответы [ 3 ]

14 голосов
/ 17 января 2010

Вы не можете использовать isset для результата функции. Вместо этого рассмотрим следующий код:

if( $this->session->get('user_id') ){
    //run code
}
12 голосов
/ 17 января 2010

isset () работает только с переменными как прохождение чего-либо еще приведет к ошибка разбора. Для проверки постоянных установлены с использованием функции define ().

Из PHP Manual .

1 голос
/ 17 января 2010

Вы не можете использовать isset для функции. Однако, поскольку false, 0 и '' все равны утверждению Falsey, напишите свой тест следующим образом:

if( $id = $this->sessions->get('user_id') ){
   // Will only run if $id does not equal '', False, or 0
}

Таким образом, вы запустили тест и присвоили переменную за один шаг.

...