【发布时间】:2013-06-22 11:59:19
【问题描述】:
我已经在互联网上寻找答案,但我找不到它,所以我会在这里问。我在站点中有一些表单,我不确定如何将 $_POST 传递给模型,我在这里想到了一些选项:
方法一:
直接从模型访问$_POST,我看到这种方法的问题是,现在我的模型被绑定到我的视图,这使得我的模型不可重用。
方法二:
创建一个包含帖子信息的$data 数组,但是如果我的表单中有 10 个以上的字段,分配所有这些变量是很乏味的,并且在模型中我必须知道我在控制器中命名的键.
方法三:
将每个 $_POST 键作为参数传递给模型函数,但这与方法 2 存在类似的问题,即如果我有 10 多个字段将有很多参数,并且如果我想稍后添加一个新参数需要重写很多代码。
我想知道其他 php 程序员是如何做到这一点的。
【问题讨论】:
-
我在 MVC 方面没有太多经验,实际上我是新手,但据我所知,您不应该将发布信息传递给控制器吗?并将帖子传递给所需的模型,您的模型应该编写得足够好以形成查询,或者您可以制作一个扩展标准模型的特定模型,即使它不可重用,有时它会发生,而不是您的 100%代码必须是可重用的
-
+1 @aleation 所说的,控制器处理 POST,做任何需要的事情(验证,业务逻辑......)并填充模型。模型甚至不应该知道 POST 的存在,它只是 POPO(普通的旧 php 对象)
-
我将验证保存在模型中。