【问题标题】:Business Logic in View - CakePHP视图中的业务逻辑 - CakePHP
【发布时间】:2012-03-19 05:47:30
【问题描述】:

我有一个主页,默认情况下是一个博客。我希望用户能够关闭博客,以防他们想要一个静态页面 [在数据库中设置]​​

问题是:

1) 我是否在视图中做生意(我知道这是不好的做法)

2) 我是否在控制器中完成所有操作(这需要我从数据库中提取布尔值)

谢谢!

【问题讨论】:

    标签: php cakephp


    【解决方案1】:

    不要在视图中添加任何类型的登录信息,除了简单的表示逻辑。相反,我建议您在控制器或更好的模型中添加一个检查(因为它处理数据库。)

    【讨论】:

      【解决方案2】:

      将业务逻辑保留在 Controller 中总是更好。为了让范式更简单而打破范式并不是一个好主意。

      我会这样做。

      由于博客页面与静态页面的视图几乎相同(cmets 除外),我想说让它们完全相同。然后在数据库中设置一个标志,并为您添加的页面设置一个标志,以确定该页面是否是静态的。

      在视图中,放置一个不会显示 cmets 的简单 if (static) don't show comments 语句。那么就没有逻辑的变化,也不需要控制器中的逻辑。

      【讨论】:

        【解决方案3】:

        如果它是一个简单的博客,并且您认为它以后不会扩展,那么将逻辑放在视图中就可以了。 MVC 只是一个范例。它不需要虔诚地遵循。你可以随意打破你认为合适的模式。

        【讨论】:

        • 如果你要破坏 MVC 为什么要使用它?遵循模式并使用范式总是最好的,这样它就不会混淆任何人。将两者混合使用是不好的做法。
        猜你喜欢
        • 2011-11-26
        • 1970-01-01
        • 2013-12-15
        • 2012-08-03
        • 2011-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-05
        相关资源
        最近更新 更多