0
我看到如下代码几次,不能认为reasonsing是什么:PHP - 与和克隆,而不是构造
public function withParameter($parameter)
{
$clone = clone $this;
$clone->parameter = $parameter;
return $clone;
}
而且类似的事情:
public static function fromString(string $parameter)
{
return new StringValueClass($parameter);
}
为什么有像这样的静态函数而不是使用构造函数?
这将有助于看到了'withParameter更多的内容()',看看它是如何使用的。关于静态函数,需要从类再次更多上下文,但有时真正的构造是由私人,取而代之的是类可以提供一个实例给出不同类型的输入则params的,静态创方法来实现的几种不同的方法。 –
第一种情况看起来像它迫使类表现得像一个值类型意味着你可以自由地调用函数获取类的新实例,但保持原有的一个,如果你需要它。第二个依赖于上下文,但它看起来只是提供了一种更具表现力的方式来创建对象实例。 – apokryfos