这是一个概念性问题。我正在 Codeigniter 中开发一个注册+登录系统。
目前我有一个用户控制器,它将处理用户的个人资料和与用户相关的帖子。好吧,我很困惑是否应该在用户控制器中包含注册和登录功能,或者我应该将它们作为独立控制器与它们的关联模型和视图当然?
这里没有可显示的代码,只是想知道最佳实践。
这是一个概念性问题。我正在 Codeigniter 中开发一个注册+登录系统。
目前我有一个用户控制器,它将处理用户的个人资料和与用户相关的帖子。好吧,我很困惑是否应该在用户控制器中包含注册和登录功能,或者我应该将它们作为独立控制器与它们的关联模型和视图当然?
这里没有可显示的代码,只是想知道最佳实践。
我同意别人的回答,没有标准,你必须按照你的个人标准,随心所欲。通常我会创建一个名为Auth.php
Don't know if it's best practice 但你可以看到它是可读的控制器:
class Auth{
function signup(){
}
function login(){
}
function logout(){
}
function recover_password(){
}
}
没有规定必须如何组织代码的规则。然而,这是我认为的“最佳实践”:
一个控制器应尽可能“映射”到一页。
所以'用户页面'应该有一个'用户控制器','登录页面'一个'登录控制器','注册页面'一个'注册控制器',等等......
没有什么能阻止我们为我们的程序使用一个包含 10,000 行的单个 php 文件,但我认为大多数人会同意这样做的问题是维护这样一个代码库是一场噩梦。
当您稍后决定更改注册页面(例如添加新字段)时,您是否希望必须查看包含用户并登录您不感兴趣的代码逻辑的文件或仅包含您关心的文件的文件和?
如果您必须告诉其他开发人员这样做怎么办?想象一下...“帮我在注册表单中添加一个字段,您需要查看用户控制器并向下滚动到注册表单逻辑的 3 个功能”与“帮我在注册表中添加一个字段”表格,只看注册控制器”
我给你留下马丁戈尔丁的一句话
始终编写代码,就好像最终维护您的代码的人将是一个暴力的精神病患者
没有最佳实践,只做你相信的事情。这样的事情没有标准。
我相信独立的组件,所以我应该创建独立的控制器。