gpt4 book ai didi

php - CakePHP 编辑模型数据,最佳实践?

转载 作者:搜寻专家 更新时间:2023-10-31 21:33:52 25 4
gpt4 key购买 nike

所以基本上我在两种更改模型数据的方法之间挣扎。

方法一:(函数直接在模型数据中修改)

$this->Model->set($data);
$this->Model->changeSomeData();

方法二:(带输入输出的函数)

$data = $this->Model->data;
$newdata = $this->Model->changeSomeData($data);
$this->Model->set($newdata);

有人可以阐明这一点,使用什么以及为什么?

谢谢

最佳答案

我确定这是 Cake 1.x 的遗留问题,其中调用 Model->set($data) 是常见的做法。我猜这是因为 validate()create()save() 需要有 id或分配给模型的 data

随着代码的成熟,这种做法已过时,因为 save() 将接受 $data 并执行验证。

这里的问题是 CakePHP 将模型和实体合并为一个类。一个好的数据库布局会将模型和实体分开。我认为他们正在使用 Cake 3.x 做什么

另一个问题是 Cake 对模型实例使用缓存。两个不相关的类可能会更改模型的数据,因为它们共享相同的引用。

所以我强烈推荐方法#2。

代码更易读,更易维护。

关于php - CakePHP 编辑模型数据,最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24576077/

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