2013-01-19 25 views
0

我最近一直在玩一些非常通用的OOP概念並學習抽象我的代碼。爲此,我編寫了一個將數據保存到數組的通用汽車API。在php中編寫一個通用API的保存方法

問題是我可以添加,列表,刪除和查找數據,但是當涉及到編輯....好難。

我寫了一個find方法,將做到:

public function find($car){ 
    if(in_array($car, $this->_carArray)){ 
     return $this->_carArray[$car]; 
    } 

    return false; 
} 

所以現在我可以找到並返回車對象。這僅僅是一個數組,例如:

array(
'type' => 'gas', 
'make' => 'some-make' 
'model' => 'some-model', 
'year' => '2005' 
); 

那麼我可以用我寫的設置說一個新的類型,或者一種新的模式,甚至添加odometerReading定製__set()方法。

問題是,當我這樣做時,我剩下一個數組 - 如何使用保存方法保存數據?

我希望我給了足夠的信息。

+1

從對象中抽象不是OOP概念。如果要抽象持久性,則存儲庫應該處理編組/解組,並且客戶端代碼應該處理對象。 –

+0

與我的問題無關。但是謝謝。 – Adam

+0

我很確定它確實。 「我留下了一個數組」(原始數據)< - 如果結構對應於來自域模型的對象,但在最低級別,則不應在OOP中發生。這聽起來像是你追逐了一種錯誤的抽象。如果你想要一個更加動態的結構,那麼你應該使用類似StdObject的東西。如果你想通過垂直方式處理數組,那麼你應該在OOP上下文之外重新定義你的問題。 –

回答

0

從對象中抽象不是一個OOP概念。如果你想抽象持久性,那麼倉庫應該處理編組/解組,客戶代碼應該處理對象。