检查调用是否是方法链接 PHP

Check if call is method chaining PHP

我想了解方法链。最近我在 Laravel 中使用了方法链接,它工作正常。

我的模特名字是帖子所以当我想 select 帖子中的所有名字时 returns 所有名字。

Posts::select('name');

当我调用下面的函数获取一条记录时,它只给出了一条记录。

Posts::select(name)->first();

我想在我自己的 class 中实现相同的场景。我有一个 class 图片上传。

如果我只上传一个文件,它将是

Image::upload('pic')

但是如果我上传带有调整大小和水印的图片。

Image::upload('pic')->resize(200, 300)->addwatermark('image/logo.png');

基本上你的方法必须做到:"return $this;"一旦治疗完成:

public function upload(){
    //do something

    return $this;
}

public function resize(){
    //do something

    return $this;
}

public function watermark(){
    //do something

    return $this;
}