请帮助我理解:
print gettype(new CustomerObject())
打印:“对象”(所以它是一个对象)
但是
print gettype((new CustomerObject())->get_customer());
打印:意外的T_OBJECT_OPERATOR
如果我在两行上完成它可以正常工作
$object = new Customer($order->customer_id);
print gettype($object);
打印:对象
$customer = $object->get_customer();
print gettype($customer);
打印:数组
似乎这些行无法连接到一个调用中。 它是否正确?那背后的逻辑是什么?
答案 0 :(得分:2)
你有点困惑
print gettype((new CustomerObject())->get_customer());
尝试在gettype返回的方法上调用方法get_customer()。 (字符串不是对象)
基本上,如果要创建一个对象,然后在其上调用一个方法,则必须在两个单独的行上进行。
这不合算:
$array = new Object->getArray();
这很有用:
$object = new Object;
$array = $object->getArray();