#php #oop #object #variables
#php #ооп #объект #переменные
Вопрос:
Я создаю переменную «template» из объекта:
$templateId = $page->getTemplate()->getId();
Но в некоторых случаях «template» не существует в «$page». В этом случае я хочу, чтобы «$templateId» был пустым.
Мой подход:
$templateId = property_exists($page->getTemplate()->getId()) ? $page->getTemplate()->getId() : "";
Ошибка:
Вызов функции-члена getId() при null
Комментарии:
1. укажите свой property_exists() здесь
Ответ №1:
getId()
не является свойством. Это метод. Вы можете проверить существование метода с method_exists()
помощью функции
$templateId = method_exists($page->getTemplate(), 'getId') ? $page->getTemplate()->getId() : ""
Ответ №2:
$templateId = $page->getTemplate() ? $page->getTemplate()->getId() : "";
Ответ №3:
Просто добавьте ‘@’
$templateId = @$page->getTemplate()->getId() ? $page->getTemplate()->getId() : "";
Ответ №4:
Используйте if(obj.propertyname){}
.
Таким образом, вы можете убедиться, что свойство должно существовать.