PHP :: MVC是否所有通过模型请求的控制器?

时间:2018-11-21 02:00:30

标签: php model-view-controller

使所有信息都通过模型传递到控制器是否是最佳实践?

例如,我有一个名为“ Apps”的控制器和一个名为“ App”的模型。我想显示一个带有用户列表的表单,该列表位于库文件夹的“用户”类中。我可以直接从CONTROLLER中直接从“ Users”类中请求用户列表吗?还是最好先通过MODEL然后进入CONTROLLER?

TIA

3 个答案:

答案 0 :(得分:-1)

MVC正常工作的方式是,视图向控制器发出请求。然后,控制器访问模型,处理所有业务逻辑并更新视图。

因此,在您的情况下,User类可以是您的Model。

例如。

  • 视图请求用户列表
  • 控制器处理请求并从模型(例如,通过数据库)获取用户列表
  • 然后,控制器使用列表更新视图,或者视图有权访问列表并呈现它。

Here是更多信息。

答案 1 :(得分:-1)

在您用php标记问题时,我可以用其术语进行解释。 View(HTML表单或AJAX)向控制器发出请求,通常是一个php文件(通过发布或获取请求),该文件处理和重定向请求到(模型)单独的php代码,与data(DB)一起使用,该代码将结果返回给控制器并它来建模。考虑使用一些适合您需求的现有MVC框架。

  

模型-视图-控制器是一种常用的架构模式   开发将应用程序分为三个的用户界面   相互连接的零件。这样做是为了将内部   信息表示方式中的信息表示   并由用户接受。 MVC设计模式将这些因素解耦   主要组件允许有效的代码重用和并行   发展。   https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

答案 2 :(得分:-1)

我同意您的观点,但是我们必须考虑项目的规模。例如,在一个大型项目中,我通常像控制器<=>服务<=>模型<=>表那样命令它。

  • 表:运行sql(CURD)
  • 模型:呼叫表具有一项功能(就像获取文章后一样,也需要更新查看时间)
  • 服务:呼叫模型完成一项功能(如付款)
  • 控制器:输入/权限验证器,然后调用服务完成它。

当然,如果只有一个简单的博客,我们可以在控制器中完成所有操作。

同样的视图想法,可能会整页出现,可能会将组件分组为一页,并且组件也可能有子代。