Php MVC:仅用于用户注册的变量。放置在控制器辅助对象或模型中?
在清理MVC中的“注册”方法时,我发现自己处于灰色地带 快速背景:我创建与特定任务关联的值数组。 例如:Php MVC:仅用于用户注册的变量。放置在控制器辅助对象或模型中?,php,model-view-controller,model,controller,Php,Model View Controller,Model,Controller,在清理MVC中的“注册”方法时,我发现自己处于灰色地带 快速背景:我创建与特定任务关联的值数组。 例如: $field_arr //array of all the values from the register-form. $user_arr //array of values needed to create a new user. $required_arr //array of all values that are required for sign up. $values_arr
$field_arr //array of all the values from the register-form.
$user_arr //array of values needed to create a new user.
$required_arr //array of all values that are required for sign up.
$values_arr //array that holds all the values for the items in the multiple arrays.
等等…等等
首先,我开始重新组织代码,将这些变量声明/填充块放在控制器中的一个helper函数中,“Register”控制器方法将在其例程开始时调用该函数
但我的脑子里突然出现了一个开关
由于该信息与
用户模型不应该被放置吗
在用户模型中
但后来我的另一边的头又回来了
是的,它确实相关,但仅用于
注册,因此
仅在控制器中有用
我的头哪一边错了?任何指导都将非常有帮助,我们将不胜感激。
谢谢。我将在您的用户模型中创建一个
register
方法,并将所需信息从控制器传递给它,因为这是处理用户输入的应用程序的一部分。重用模型往往比重用控制器更容易发生,因此通过这样做,您可以在将来的项目中节省一些时间(只需复制您的用户模型)
另一个好处是,您现在可以从应用程序中的多个点使用此注册逻辑。诚然,用户注册并不是最好的例子,但我希望您看到这在其他情况下是多么有用
当我发现自己处于类似情况时,我喜欢记住的一句话是“瘦控制器,胖模型”。试着让你的控制器保持苗条,并让那些型号更丰满
编辑:这里有一些伪代码来帮助解释我的意思
class RegistrationController {
function register() {
// Sanitizing your data here would be a good idea
$fieldArr = $_POST['data_from_your_form'];
$user = new User();
$result = $user->register($fieldArr);
if ($result) {
// User successfully reg'd
} else {
// Oops! Problem registering user
}
}
}
我将在您的用户模型中创建一个
register
方法,并将所需信息从控制器传递给它,因为这是处理用户输入的应用程序的一部分。重用模型往往比重用控制器更容易发生,因此通过这样做,您可以在将来的项目中节省一些时间(只需复制您的用户模型)
另一个好处是,您现在可以从应用程序中的多个点使用此注册逻辑。诚然,用户注册并不是最好的例子,但我希望您看到这在其他情况下是多么有用
当我发现自己处于类似情况时,我喜欢记住的一句话是“瘦控制器,胖模型”。试着让你的控制器保持苗条,并让那些型号更丰满
编辑:这里有一些伪代码来帮助解释我的意思
class RegistrationController {
function register() {
// Sanitizing your data here would be a good idea
$fieldArr = $_POST['data_from_your_form'];
$user = new User();
$result = $user->register($fieldArr);
if ($result) {
// User successfully reg'd
} else {
// Oops! Problem registering user
}
}
}
谢谢你的回复。我现在要多读一些关于“胖模特”的书。(天哪,我喜欢这个短语)第三句“再次感谢”?老兄,你一定真的把我从偏头痛中救了出来。我的代码也谢谢你。谢谢你的回复。我现在要多读一些关于“胖模特”的书。(天哪,我喜欢这个短语)第三句“再次感谢”?老兄,你一定真的把我从偏头痛中救了出来。我的代码也谢谢你。