我在实施MVC系统时遇到了困难
我有一个简单的评论系统,通过POST或AJAX发送记录。
a)我应该将Comment_Ajax和Comment_Post中的2个控制器分开
b)或者我应该保留一个控制器并检查发送的方法(is_ajax())以执行必要的操作。
表单方法'发布'重定向到帖子页面,表单方法'Ajax'只在评论中重新加载。
答案 0 :(得分:1)
创建更多控制器不是一个好选择。
我不明白你的陈述“表格方法'发布'重定向到帖子页面和表单方法'Ajax'只在评论中重新加载”。
一般情况下,如果我们在相应的帖子页面中,我们可以对帖子发表评论,您再说“帖子”会重定向到帖子页面。
根据客户要求,我们将选择“重新加载页面”或“仅使用AJAX更新commnets部分”。
此外,您遵循的流程是什么,只需编写一个方法,如saveComment();并调用此方法,如果是Post,则通过表单操作,或者在AJAX调用中提及此方法。
答案 1 :(得分:0)
我会使用版本b,将相关方法保存在一起。保持干燥:不要重复自己。
您正在做的是一个控制器的2个动作(方法/功能),这是完全有效的MVC。通常控制器有一个动作“渲染”(如果没有参数则显示页面),并且可以有多个动作,如保存,更新,提交,render_ajax等。