gpt4 book ai didi

php - MVC 中 Controller 和模型的区别

转载 作者:行者123 更新时间:2023-12-01 19:39:28 24 4
gpt4 key购买 nike

我对 MVC 框架(codeIgniter)中的 Controller 和模型有点困惑。我很清楚 Controller 方法调用 View ,模型方法与数据库交互。但是,我对以下类型的方法有点困惑,这些方法是由 Controller 中的方法调用的。

hash_password              //returns hash password. 
valid_email //validates email format and return true or false
is_logged //check if session has a variable, returns true or false
generate_random_string //generates and hashes a random string

它们应该放置在 Controller 中还是模型中?

目前我将上述所有功能都放在一个 Controller 中。正确吗?

最佳答案

我认为 is_logged 应该放置在 User 的模型中。请注意,User 可能是您案例中的客户,也可能是您为服务用户建模而创建的任何类。

valid_emailgenerate_random_string 或多或少都是实用函数,您可以将其放置在 UtilityUtilities 中> 模型,以便它们可以在应用程序的各种 Controller 中重用。

hash_password 可以放置在User 模型或Utility 模型中。我更倾向于将其放入 Utility 模型中,因为它是一个哈希函数,并且用户不关心任何内容。但是,我可以想象否则可能会有争论。

以下SO问题(尽管针对不同的框架)也可以作为经验法则:

Where to put custom functions in Zend Framework 1.10

关于php - MVC 中 Controller 和模型的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6423418/

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