Невозможно использовать возвращаемое значение функции в контексте записи?

У меня есть этот код:

public function __construct($Directory = null) { if ($Directory === null) { trigger_error("Directory Must Be Set!", E_USER_ERROR); } if (isset($Directory)) { if (!empty(trim($Directory))) { //Error Line echo "test"; } } } 

(Эхо для моих целей отладки.)

Я возвращаюсь с фатальной ошибкой:

Невозможно использовать возвращаемое значение функции в контексте записи

Согласно шторму PHP это возвращает:

Ожидаемая переменная

Но используя код непосредственно из этого вопроса:

Белые пространства, отбрасывающие проверку формы HTML

Это правильный синтаксис, поскольку я использовал его в прошлом … Но в этой ситуации это вызывает ошибку. Почему это?

Из документов PHP по empty функции:

Примечание. До PHP 5.5 пустая () поддерживает только переменные; все остальное приведет к ошибке синтаксического анализа. Другими словами, следующее не будет работать: empty (trim ($ name)). Вместо этого используйте trim ($ name) == false.

Поэтому вам придется разделить эту строку на следующее:

 $trimDir = trim($Directory); if(!empty($trimDir))