Я пытаюсь установить значение моей переменной в "", в случае, если getLove
не определено:
`$money = $dollar->getCash()->getLove ?? "";`
Но я все еще получаю сообщение об ошибке:
Attempted to call an undefined method named "getLove" of class "Proxies__CG__\App\Entity\Happiness".
Но в коде, который вы показываете, это не метод, а свойство.
@AbraCadaver А, хорошо, вот почему метод не работает
@AbraCadaver $money = property_exists($dollar->getCash()->getLove(), 'getLove') ?? "";
Я получаю сообщение об ошибке: Предупреждение: первый параметр должен быть либо объектом, либо именем существующего класса`
Итак, это свойство getLove
или метод getLove()
???
@AbraCadaver Теперь я в замешательстве. Вы сказали, что getLove() - это не метод, это свойство
Symfony говорит, что это метод
То, как вы его использовали, было свойством без ()
, но, вероятно, $money = method_exists($dollar, 'getLove') ? $dollar->getCash()->getLove() : "";
@AbraCadaver Да, на самом деле это работает!
@AbraCadaver Подождите, на самом деле не работает. Теперь я получаю ошибку Call to a member function getLove() on null
Можно ли также проверить, является ли он нулевым?
Обратите внимание, что при использовании метод_существует не учитывается "__call()".
Это правильный ответ: $money = method_exists($dollar,"getCash") ? $dollar->getCash()->getLove() : '';
Хотите обновить свой ответ вот так?