我正在设计表单发布数据的方式。
例如,如果我们有login.php,如果用户提交,我们通常会将其发回login.php并进行处理。这意味着如果我们有其他页面如register.php,editprofile.php,我们必须再次重做该过程。通常我们会在每个页面中做这样的事情:
if($_POST["btnsubmit"]) {
//do smth
}
我想做一个普通的postForm.php,它接受所有的帖子请求,将数据传递给相应的库并进行处理。
这是一个好主意吗?
答案 0 :(得分:1)
这绝对是个好主意!您所描述的内容从Model View Controller模式称为controller
。我建议查看Symfony,这是一个很棒的MVC Web框架。
单个Symfony控制器(名称为actions.class.php
)可以处理所有帖子和获取,以及路由以帮助您到达那里。通过Symfony约定,对http://mywebsite.mydomain.com/home
的调用将在主控制器中运行executeHome
函数。例如,该页面上的表单可以发布到/attemptLogin
,并且(按照惯例),Symfony会在同一个控制器文件中运行executeAttemptLogin
函数。