2012-06-13 40 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