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