作者:辰S辰_588 | 来源:互联网 | 2023-09-05 18:59
tap解释functiontap($value,$callbacknull){*if(is_null($callback)){returnnewHigherOrderTapProx
tap解释
function tap($value, $callback = null)
{
$callback($value);
return $value;
}
把 参数
传递给 闭包
,并且返回 参数
。
(关于 HigherOrderTapProxy
百度一下把,很简单,不是本篇要吹的内容)
日常使用
一般都是跟对象打交道,这里要说明下: 对象引用传值的
例如:
$user = new User();
$user->id = 1;
$callback = function ($user){
$user->id = 999;
};
$callback($user);
echo $user->id;
阅读量增加
$article = tap(Article::find(1),function ($article) {
$article->increment('view');
});
流接口模式
public function setData($data)
{
$this->data = $data;
return $this;
return tap($this,function ($hello) use ($data) {
$this->data = $data;
});
return tap($this,fn() => $this->data = $data);
}
凑个数