我试图用PHP
来做这件事$query->select('username')->from('users')->execute();
我宁愿这样做
$query->select('username')->from('users');
是否有一个魔术函数允许在调用结束时启动像execute这样的函数并返回内容?
答案 0 :(得分:3)
不,没有这样的事情。 PHP不知道这样的东西会“结束”。方法链只是简写:
$a = $foo->a();
$b = $a->b();
$c = $b->c();
没有办法确定这一系列调用何时会“结束”,并且不希望将行为绑定到这样的语法糖上。
如果你想做这样的事情该怎么办?
$a = $foo->a();
if ($bar) {
$a->bar();
}
$a->b()->c();
if ($baz) {
$a->baz();
}
$a->execute();