2017-01-02 6 views
3

Следующий оператор IF вызывает ошибку ZendFramework (с пустым экраном). PhpStorm указывает ожидаемая переменная с красным индикатором после ('page_reference'). Есть ли способ, которым я могу выполнить этот оператор IF без возникновения ошибки?Как использовать php isset с функцией?

if (isset($this->params()->fromRoute('page_reference'))) { 

} else { 

} 
+1

'$ this-> params() -> fromRoute ('page_reference')' не является переменной, что вы ожидаете от 'isset' здесь? – Dekel

+0

Вы, наверное, хотите '! Empty' – Farkie

+0

! Empty разрешает это –

ответ

1

Как вы можете видеть в php documentation isset предназначен для использования в переменном контексте.

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

В этом случае можно решить эту проблему простым способом:

if ($this->params()->fromRoute('page_reference') !== null) { 

} else { 

} 

Обратите внимание, second parameter of fromRoute является $default = null, и может быть использован для передачи ожидаемого значения, когда «page_reference» не определен ,

 Смежные вопросы

  • Нет связанных вопросов^_^