0
我看到自己在做這個有很多:我應該強制記憶嗎?
function getTheProperty()
{
if (! isset($this->theproperty)) {
$property = // logic to initialise thepropery
$this->theproperty = $property;
}
return $this->theproperty;
}
這是好事,因爲它避免了用於初始化值的epxensive邏輯。然而,我所看到的不利之處在於,我無法確定客戶端如何使用這個,這可能會讓人困惑。
這是一個很好的使用模式嗎?在做這件事時應該考慮什麼?
如何添加一個參數 - 例如$ forceNew繞過記憶?
昂貴的方面需要大量的工作/時間來傳遞價值。也許是大數據庫讀取,API調用等。 –
我不太喜歡你的代碼示例。抱歉。 –
@MartyWallace是的,我剛剛讀了關於memoization [我認爲這是一個錯字]讓我重新寫這個答案。 – Sammitch