【问题标题】:What layer or pattern should I use in my Laravel app?我应该在我的 Laravel 应用程序中使用什么层或模式?
【发布时间】:2020-03-13 14:26:40
【问题描述】:

我有一个包含大约 10 种工作模式的应用。每个“模式”都使用相同的 API 端点,但在它使用的 2-5 列中,有时在逻辑上有所不同。我需要某种层来让控制器只做普通的工作。例如(伪代码):

控制器:

function create($request) {
    DoCommonJob();
    SomeLayer::createByMode($request);
    return response;
}

某层:

function createByMode($request) {
    Switch($request->('mode')) {
       ...
    }
}

我可以使用什么层或图案?

【问题讨论】:

  • 您能否详细介绍一下您目前拥有的解决方案以及您遇到问题的原因?
  • @jsheeran 实际上,现在我有一个演示版本(未生产),其中包含多个端点和控制器,命名为 api/mode/action、[Mode][Entity]Controller。我尝试进行一些升级和更新,这是非常累人的练习。我需要合并端点,但如果我现在这样做,我将拥有近 1k 行控制器 if(mode == 1) { ...30 lines...} if(mode == 2) { ...30 lines ...}

标签: php laravel architecture refactoring backend


【解决方案1】:

问题解决了。我明白不需要复杂的模式。我刚刚决定创建自定义类处理程序(例如:[Entity]Handler.php),我将在其中放置自定义逻辑。 [Entity]Controllers 中的方法将附加处理程序中函数的代码。

【讨论】:

    猜你喜欢
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多