我不知道如何解释这个问题所以也许瓷砖不匹配。
Class a {
function b{
return $this;
}
function c{
return $this;
}
}
如果我有这样的课程结构,我可以做到
$a = new a();
$a->b()->c();
我想知道怎么知道函数不像$a->b();
那样继续,然后我返回$ retuslt而不是$ this。
Class a {
function b{
//if not continued
return $result;
//if continued
return $this;
}
function c{
return $this;
}
}
这可能吗?非常感谢你!
答案 0 :(得分:2)
这是不可能的。您不会在方法内部知道返回的内容。但是,您可以传递返回值,例如:
Class a {
function b(&$return){
// do something
$return = 'some value';
return $this;
}
function c(){
return $this;
}
}
$a = new a();
$a->b($returnFromB)->c();
echo $returnFromB; // 'some value'