【问题标题】:Check if call is method chaining PHP检查调用是否是方法链接 PHP
【发布时间】:2016-08-20 06:41:01
【问题描述】:

我想了解方法链。最近我在 Laravel 中使用了方法链,效果很好。

我的模型名称是帖子,所以当我想从帖子中选择所有名称时,它会返回所有名称。

帖子::select('name');

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

帖子::select(name)->first();

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

如果我只上传一个文件,那就是

图片::上传('pic')

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

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

【问题讨论】:

  • PHP method chaining?的可能重复
  • 问题不一样!先阅读,然后评论和投票。谢谢!
  • 您的帖子中甚至没有问题。我看到“我想在自己的班级中实现相同的场景。”,如何做到这一点在我提供的链接中得到了解答。

标签: php method-chaining


【解决方案1】:

基本上你的方法必须做:“return $this;”治疗完成后:

public function upload(){
    //do something

    return $this;
}

public function resize(){
    //do something

    return $this;
}

public function watermark(){
    //do something

    return $this;
}

【讨论】:

  • 如果我只需要上传文件并返回文件名,那么我不能返回类的对象。
  • 您可以执行整个处理链接方法,然后在完成后调用 getFileName 方法。
  • 但是在 laravel 中我们不需要调用任何函数来获取文件名。我已经考虑过了,整个逻辑都在我脑海中。但问题是框架如何管理它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
相关资源
最近更新 更多