在帮助器中使用模型

时间:2016-01-12 15:15:26

标签: php architecture

我有一个与软件架构相关的快速问题。在我的应用程序中,我有一个模型,其中包含一个检查应用程序工作环境的方法。让我们说模型被称为" AppModel"。

因此,AppModel :: isDevEnv()指示应用程序是否在生产或开发中运行。在其他模型,组件等中调用此方法很容易。

问题是当我想检查视图中的环境时。我创建了一个带有适当方法的帮助器,只是为了从模型中覆盖方法并返回来自精确模型方法的结果。

class AppModel {
    public function isDevEnv() {
        return boolean;
    }
}

class AppHelper {
    public static function isDevEnv() {
        $app = new AppModel();
        return $app->isDevEnv();
    }
}

这是正确的做法吗?也许它有点过于复杂?也许我应该在模型中创建一个静态方法,并在我想调用它时调用它?

1 个答案:

答案 0 :(得分:0)

如果这是遗留系统,我建议将其重构为理想的解决方案。如果你想拥有这个帮助器,或者它是进一步重构的必要步骤,那就去做吧。

一般情况下,我会根据环境注入不同行为的服务,而不是检查模型中的环境。但遗留系统可能并不容易。