我最近一直在玩一些非常通用的OOP概念,并学习抽象我的代码。为此,我编写了一个通用的汽车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'
);
然后我可以使用我编写的自定义__set()方法来设置一个新类型,或一个新模型,甚至添加一个odometerReading。
问题是,当我做了所有这些,我留下了一个数组-我如何使用保存方法保存数据?
我希望我给了足够的信息。
抽象对象不是面向对象的概念。如果您想抽象持久性,那么存储库应该处理编组/解组,客户端代码应该处理对象