我正在从一个对象创建变量“模板”:
$templateId = $page->getTemplate()->getId();
但是在某些情况下,“ $ page”中不存在“模板”。在这种情况下,我希望“ $ templateId”为空。
我的方法:
$templateId = property_exists($page->getTemplate()->getId()) ? $page->getTemplate()->getId() : "";
错误:
在null上调用成员函数getId()
答案 0 :(得分:5)
getId()
不是该属性。是方法。您可以使用method_exists()
函数检查方法是否存在
$templateId = method_exists($page->getTemplate(), 'getId') ? $page->getTemplate()->getId() : ""
答案 1 :(得分:4)
$templateId = $page->getTemplate() ? $page->getTemplate()->getId() : "";
答案 2 :(得分:0)
使用if(obj.propertyname){}
。
这样,您可以确保该属性必须存在。
答案 3 :(得分:0)
只需添加“ @”
$templateId = @$page->getTemplate()->getId() ? $page->getTemplate()->getId() : "";