【问题标题】:Controllers that have no model, Laravel MVC pattern没有模型的控制器,Laravel MVC 模式
【发布时间】:2013-06-26 08:39:15
【问题描述】:

在 MVC 模式中设计 laravel 应用程序时,可以使用与模型无关的控制器吗?

例如:我的应用有“事件”、“用户”和“活动”模型和相关控制器。但是,应用程序仪表板将显示事件、用户和其他项目的新闻提要。我应该创建一个 DashboardController 类吗?即使这与模型类没有直接关系?

或者有更好的方法吗?

【问题讨论】:

    标签: php model-view-controller architecture laravel laravel-4


    【解决方案1】:

    当然,您可以从仪表板控制器调用所需的各种模型。目前我自己也在做类似的事情,并且我正在开发一个仪表板控制器。

    MVC 并不意味着每个 C 都必须有一个 M 甚至一个 V。;) 将其视为一个整体模式/结构,而不是每个 C 都必须链接到下一个级别。

    【讨论】:

    • 虽然这是最佳实践吗?有没有与它们直接相关的模型的控制器?
    • 当然,您不希望最终在每个控制器中都有一个 *Dashboard 方法。您可以简单地在 Dash 控制器中调用每个模型并构建您需要显示的数据。
    • 将 MVC 视为分离代码的建议结构。不是强制的规则集,这意味着您的应用程序的每个部分都必须包含全部 3 个部分。
    • (示例)您没有仪表板控制器,多年来您的应用程序已经发展到超过 20 个不同的仪表板。当必须在仪表板中进行重要更改时,可以说AuthorizationAttributes。您必须在拥有仪表板方法的每个控制器中对其进行编辑。如果AuthorizationAttribute 更改,则再次。对于仪表板的单独控制器,您的更改将在单个文件甚至单个方法上。在满足客户不断变化的需求时,这是一件幸事。
    猜你喜欢
    • 1970-01-01
    • 2011-09-12
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    相关资源
    最近更新 更多