【问题标题】:PHP MVC Requesting data from another modelPHP MVC 从另一个模型请求数据
【发布时间】:2016-09-05 09:09:10
【问题描述】:

这真是一个关于 MVC 标准和效率的问题。

我有一个用户控制器,并且想从我的会话模型中检索数据。有两种方法可以做到这一点:

我可以直接从用户控制器中的会话模型请求数据。 (UserController ---> SessionModel)

我可以让 SessionController 向 SessionModel 请求数据。 (用户控制器--->会话控制器--->会话模型)。

这两种方式似乎都有效,我不确定这两种方式是否是一种“不正确”的方式来做我想做的事。但是,第二种选择似乎有些低效且毫无意义。它似乎只是为了检索数据而添加了另一层。但是,我不确定第一个选项是否违反了 MVC 的规则。

对此的任何建议将不胜感激。

【问题讨论】:

    标签: php model-view-controller


    【解决方案1】:

    最佳做法是将模型直接调用到控制器中。所以你应该在 UserController 中调用你的 SessionModel。这样一来,循环就很短了,效率也很高。

    在我看来,最好的方法是引入另一层“服务”,如果您正在使用框架(例如 Symphony),您可以使用 dependency injection 模式来解决此类问题。

    【讨论】:

    • 感谢您的意见。我实际上并没有使用任何框架,我是从头开始的,我应该这么说。你能用这个“服务”层向我解释一下吗?它可以包含什么,它是如何工作的?抱歉,我不太明白你的意思:)
    • 要了解服务,您应该阅读这篇文章 [链接] (sitepoint.com/an-introduction-to-services),它解释了服务的工作原理、如何实现它们以及它们如何集成到 MVC 模型中。使用框架更容易,因为它背后的逻辑已经“准备好使用”。希望对您有所帮助...
    猜你喜欢
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 2016-05-09
    • 2011-05-13
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多