gpt4 book ai didi

php - 从发布的数据创建对象实例 - PHP

转载 作者:可可西里 更新时间:2023-11-01 12:48:13 25 4
gpt4 key购买 nike

从表单传入的值创建和填充对象的最佳方法是什么?

例如,如果我有一个类 Car,其属性为 Colour、Model、Make、Year 和一个 Save 方法,它将插入或更新记录。

然后我有一个表单,其中包含所有这些值的字段并已提交。我想用发布的值创建类 Car 的实例,然后调用 Save 方法。一切顺利。

但是将发布值分配给对象内部属性的最佳方式是什么。假设这是一个简化的场景,实际情况会有更多的属性,使得单个 Set 调用冗长。

是否最好为每个对象简单地调用 Set 方法?或者将一个数组传递给一个方法(或构造函数),然后调用 Set 方法?还是其他方式?

感谢任何关于最佳实践的建议

干杯斯图尔特

最佳答案

您可以使用一点 Reflection魔法:

public function loadFromArray($array) {
$class = new ReflectionClass(get_class($this));
$props = $class->getProperties();
foreach($props as $p) {
if (isset($array[$p->getName()])
$p->setValue($this, $array[$p->getName]);
}
}

您可以在基类中实现此方法并使所有对象都继承自该方法,因此您在每个对象中都具有此功能,而无需在任何类中重复自己。

关于php - 从发布的数据创建对象实例 - PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1432486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com