我必须用数据库中的数据填充对象。我有两个想法如何简单快速地做到这一点:
使用反射(通过行键名设置子属性)
class Base
{
public function SetElementByRow($row)
{
foreach($row as $key=> $val)
{
$ref_class = new \ReflectionClass($this);
$ref_class->getProperty($key)->setValue($val);
}
}
}
通过字符串获取属性
class Base
{
protected $_row;
public function SetElementByRow($row)
{
$this->_row = $row;
}
public function GetPropByKey($key)
{
return $this->_row[$key];
}
}
你怎么看?有更好的变种吗?你更喜欢什么?