gpt4 book ai didi

php - 学说 : How to store dynamic attributes

转载 作者:行者123 更新时间:2023-11-29 01:14:17 24 4
gpt4 key购买 nike

我想将动态属性存储到数据库中。

例子:一些用户想要创建具有自定义特征的配置文件。这可能是年龄、爱好、工作、学校或其他什么。每个用户都可以设置自己的特征。在服务器端,这可能看起来像:

    $characteristics = array(
0 => array('age', 22),
1 => array('hobby', 'php'),
2 => array('food', 'pizza'),
);

通过这种结构,可以读取属性本身和值,我还可以轻松地添加和删除属性。

现在我想按条令存储这样的数据。

现在的问题是我如何做到最好:

  1. 持久化数组
  2. JSON
  3. XML
  4. 其他?

最佳答案

如果您想保持简单,最好的方法可能是简单地使用一个数组。

Doctrine 2 支持“数组”类型:如果您使用该类型映射属性,它将自动序列化和反序列化到数据库中。

例如,您可以这样做:

class MyEntity {
/** @Column(type="array") */
private $attributes = array();

public function setAttribute($name, $value) {
$this->attributes[$name] = $value;
}

public function getAttribute($name) {
return $this->attributes[$name];
}
}

像这样的方法可以让您轻松存储属性,它还会抽象出存储方式的细节,因此如果您将来想更改它(例如,可能使用 EAV 表或这样的)你不需要改变你的其他代码。

关于php - 学说 : How to store dynamic attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10860389/

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