讨论数量:
@liyu001989
比如有个详情页,有个解锁的功能,我要验证当前登录是否解锁,未登录用户正常显示,固定返回未解锁。
之前用transformer 已经分装好了返回格式,我在控制器里判断了当前用户的解锁状态,想同步返回
你的意思就是控制器里面,想传个值给 transformer,让他判断某个字段返回 true 或者 false 对吧。
transformer 也是个类啊,类就可以正常的传参啊,__construct 或者 setXXX() 把这个数据传个 transformer 就行了
$transformer = new FooTransformer(['bar'=>'这里传值'])->setBar('或者这样传值');
return $this->response->item($foo, $transformer);
实现一下 setBar 方法就行,FooTransformer 里面根据传值, 记录到 $bar 属性里面,transformer 里面判断一下。
你能理解我的意思不?
@liyu001989 没太用明白$transformer = new FooTransformer(['is_buy'=>$isBuy]); return $this->response->item($foo, $transformer);
我直接这样传的,没报错,也没返回来~
FooTransformer
class FooTransformer
{
protected $isBuy = false;
public function __construct($isBuy = false) {
$this->isBuy = $isBuy;
}
public function transformer($foo) {
return [
'is_buy' => $this->isBuy ? '买了' : '没买',
]
}
}
这样你能理解吗
$transformer = new FooTransformer(true); return $this->response->item($foo, $transformer);
是我没理解你的问题吗?你问的就是如何把参数传给一个类吗?
推荐文章: