<?php
function tap($value, $callback)
{
$callback($value);
return $value;
}
<?php
return tap($user)->update([
'name' => $name,
'age' => $age,
]);
$usermodel 到 tap 方法后,我们就可以链式各种 Model函数,正常情况下,update 方法返回的是 boolean 类型,正因为我们用了 tap 函数,update 方法返回的是 user model 对象,可以继续链式 Model 方法,操作 user 模型对象。
__call():
public function __call($method, $args)
{
$map = [
'template' => 'template_id',
'templateId' => 'template_id',
'uses' => 'template_id',
'to' => 'touser',
'receiver' => 'touser',
'color' => 'topcolor',
'topColor' => 'topcolor',
'url' => 'url',
'miniprogram' => 'miniprogram',
'link' => 'url',
'data' => 'data',
'with' => 'data',
];
if (0 === stripos($method, 'with') && strlen($method) > 4) {
$method = lcfirst(substr($method, 4));
}
if (0 === stripos($method, 'and')) {
$method = lcfirst(substr($method, 3));
}
if (isset($map[$method])) {
$this->message[$map[$method]] = array_shift($args);
}
return $this;
}
yield $this->bnotice在 Promise 中链式写法也很常用
->template($templateid)
->to($v)
->url($url)
->data($data)
->request();
// 设置约束总结
[demoView mas_makeConstraints:^(MASConstraintMaker *make) {
// 设置顶部的约束 距self.view顶部为100
make.top.equalTo(self.view).offset(100);
// 设置左边的约束
make.left.equalTo(self.view).offset(20);
// 设置右边的约束
make.right.equalTo(self.view).offset(-20);
// 设置高
make.height.equalTo(@50);
}];
作者:Coding01
本文为 @ 21CTO 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。