2010-05-28 55 views
0

請幫助我瞭解:PHP對象的幫助 - >意外T_OBJECT_OPERATOR

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

打印:陣列

看來,線不能被連接成一個單一的呼叫。 這是正確的嗎?那背後的邏輯是什麼?

回答

2

你是一個有點糊塗

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

試圖調用該方法get_customer()什麼的GetType回報。 (一個字符串不是一個對象)

基本上,如果你想創建一個對象,然後調用它的一個方法,你必須在兩行分開。

這沒有worky:

$array = new Object->getArray(); 

這worky:

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

好了,就在我以爲......我已經涉足Java和您可以調用方法的一部分對象聲明...這顯然是java獨有的功能? – 2010-05-28 05:55:28

+0

那麼,它不是獨家的Java。剛剛從PHP中排除。 – 2010-05-28 05:56:06

+0

又一個PHP煩惱:( – GateKiller 2012-05-31 10:13:42