2012-06-13 38 views
1

使用鏈式函數時,有沒有一種方法可以確定當前調用是否是鏈中的最後一個?PHP - 確定來自鏈式函數調用的最後一個函數調用

例如:

$oObject->first()->second()->third(); 

我想在firstsecondthird檢查,如果調用是最後一個鏈條,因此節省了我寫一個result般的功能總是加入連鎖。在這個例子中,檢查結果在third中應該爲真。

+0

是不是所有的你的方法返回對象本身?如果他們這樣做,只有這樣才能做到這一點。至於你的問題,沒有任何明智的方法來實現你要找的東西。有人可能會發布某種解決方法 – xbonez

+0

這怎麼可能?當你連接funcion時,你會在第一個被拆分時調用第二個。第二個函數如何知道它之前或之後是否有函數? – artragis

+0

@Artragis,這正是我想知道的;) – Ben

回答

2

據我知道這是不可能的,我會建議使用終結方法是這樣的:

$oObject->first() 
    ->second() 
    ->third() 
    ->end(); // liek this 
+0

是的,這就是我提到的結果式功能;)感謝您的回覆。不幸聽到這是不可能的,也許PHP的人爲此設計了一些東西;) – Ben

3

不,不以任何方式,這是理智的或可維護的。
您必須添加done()方法或類似方法。

+0

我很害怕。感謝您的回覆。 – Ben