PHP MVC应该提交新闻和编辑新闻具有相同的视图文件


PHP MVC should submit news has the same view file as edit news?

用户可以提交新闻,然后进行编辑。我的问题是,他们是否应该有相同的视图文件,带有几个if if(page == edit) echo "edit news" else echo "submit news"和类似的内容?

我认为共享相同的表单进行添加/编辑是可行的,而且更为DRY(不要重复)。在RubyonRails中,这是一个非常好的实践/标准。

所以,是的,创建两个视图来添加和编辑,但在两个视图中都包含相同的表单,所以你会有这样的东西:

create.php
edit.php
_form.php

您只需在每个文件中包含_form.php即可。

我仍然会创建两个视图,因为大多数时候表单周围都有不同的文本、图像和其他内容,所以如果你不想到处都有ifs,我会创建两种视图来保持有序和干净:)

与RoR狂热分子会告诉你的相反:视图是不同类的完整实例,而不仅仅是愚蠢的模板。一个合适的视图负责表示逻辑并处理多个模板。

在这种情况下,你们基本上是在做同样的事情。您将使用相同的视图和相同的模板。即使在datamapper(不要与同名ORM混淆。没有关系)级别,应用程序也会使用相同的字段执行相同的UPSERT语句。只有在一种情况下,newsId将是NULL,而在其他情况下,表示表中主键的某个数字。