gpt4 book ai didi

php - 我们应该或不应该在模型中使用参数吗?

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

我正在测试一些 Code Igniter,我注意到 Code Igniter 没有提供让用户在模型的构造函数中设置参数的方法。然后我四处搜索了一下,发现有人实际上发现在模型中使用构造函数是没有用的。这是为什么?

我喜欢做这样的事情:

$user = new User(123); // 123 = id
$user->getName();

或者类似模型的东西。但现在事实证明,我们不应该为它们使用构造函数。

为什么我们应该或不应该为模型类使用参数?

最佳答案

我把它扔掉了,因为我对 Code Ignitor 一无所知,但我知道为什么大多数模型通常都采用无构造函数模式。

原因是序列化和反序列化。许多语言(例如 Vb.net 和 C#)不允许基于启用构造函数的类进行序列化。因为,当反序列化一个已序列化的类时,它必须通过构造函数,这在反序列化过程中是不可能的,因为它不是通常代码路径的一部分。

我的猜测是,Code Ignitor 也会发生同样的事情,他们决定出于类似的目的删除构造函数,即使在 PHP 中有神奇的唤醒功能。

我觉得有道理,你呢?

关于php - 我们应该或不应该在模型中使用参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8794194/

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