gpt4 book ai didi

php - php中的数据模型

转载 作者:搜寻专家 更新时间:2023-10-30 22:20:24 24 4
gpt4 key购买 nike

我正在尝试使用 php 中非常晦涩的数据模型。例如,如果我在 SQL 数据库中有一个名为“model_attributes”的表。这是我正在处理的模型的所有可用属性的列表。现在,我希望模型和其他模型能够从该列表派生函数,以便在数据从构造函数加载到数组后从数组中提取数据。这是一个伪代码示例:

for each attributes as attribute
create new function ( getAttributeName )

getAttributeName() 

return $this->_model_data['attribute_name'] 

首先,这是好的做法吗?它看起来很有条理,但同时又显得有点脏。也许有人可以给我一些关于如何在 php 中处理大数据模型的其他建议。

另外,如果有人做过这样的事情,我该如何在 phpDocs 中处理呢?

最佳答案

您将无法在运行时使用 PHP 轻松完成此操作。

您可以使用现有的 ORM,例如 DoctrinePropel .

或者您可以预先生成模型类文件,或使用 magic methods .

简单示例:

class something {

private $_model_data;

public function __call($name, $value = null) {
if (strpos($name, 'get') === 0) {
$attribute = substr($name, 3);
return $this->_model_data[$attribute];
} else if (strpos($name, 'set') === 0) {
$attribute = substr($name, 3);
$this->_model_data[$attribute] = $value;
}
}
}

__call 是一个神奇的方法,当方法不存在时会被调用。因此,在类的实例上调用 getAttributeName 将调用 __call 并将字符串 getAttributeName 作为第一个参数。

关于php - php中的数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4830773/

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