PHP对象帮助 - >意外的T_OBJECT_OPERATOR

时间:2010-05-28 05:44:29

标签: php object gettype

请帮助我理解:

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);

打印:数组

似乎这些行无法连接到一个调用中。 它是否正确?那背后的逻辑是什么?

1 个答案:

答案 0 :(得分:2)

你有点困惑

print gettype((new CustomerObject())->get_customer());

尝试在gettype返回的方法上调用方法get_customer()。 (字符串不是对象)

基本上,如果要创建一个对象,然后在其上调用一个方法,则必须在两个单独的行上进行。

这不合算:

$array = new Object->getArray();

这很有用:

$object = new Object;
$array = $object->getArray();