比如 SlimPHP 中的 Request 实现。
public function withAttribute($name, $value)
{
$clone = clone $this;
$clone->attributes->set($name, $value);
return $clone;
}
with 的实现都涉及到 clone $object,clone 就会申请新的变量空间。为什么不用 set 呢?一个请求过来一个 Request 对象就可以了吧。
public function setAttribute($name, $value)
{
$this->attributes->set($name, $value);
return $this;
}
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
认证0级讲师