我在larval中看到在单行示例中调用多个方法
DB:: get ('test') ->toJson ();
我在该课程中有一个很酷的类和视图方法。
$this->call->view ('welcome') ->anotherMethod ();
我想再打一个方法吗?我应该在哪里制作这种方法?
答案 0 :(得分:6)
DB::get()
似乎是一个返回对象的方法,您可以在其中调用其他函数(我认为是数据库查询的结果对象)。如果要在一行中的一个对象上调用多个函数,则必须在函数中返回$this
,例如:
class View {
public static function factory {
// The question is: How useful is this factory function. In fact: useless in
// the current state, but it can be extended in any way
return new self;
}
public function one() {
// do something
return $this;
}
public function two() {
// do something
return $this;
}
}
然后你可以这样做:
$class = new View();
$class->one()->two();
// it's also possible to use the `factory` function
// you should think about, how useful this approach is in your application
$class = View::factory()->one()->two();
这就是你如何在php中完成它,如果laravel有一些帮助,我不能说:)