【问题标题】:Where to put Laravel Methods that help the controller and model get data and process it?帮助控制器和模型获取数据并处理数据的 Laravel 方法应该放在哪里?
【发布时间】:2017-05-03 10:20:53
【问题描述】:

我正在构建一个 PHP Laravel v5.3 应用程序,它将用作带有笔记和标签以及笔记修订/版本的笔记本,可用于将笔记记录恢复到旧版本的笔记。

它基本上是 PHP 中的 EverNote 克隆,类似于开源 Project Paperwork,但不会使用 AngularJS。

根据上面的描述,我的项目有这些Models

  • 笔记本
  • 注意
  • 注释版本
  • 笔记标签

我有这些控制器类来处理传入的 HTTP 请求到服务器 NotebooksNotesNoteVersions

我需要一个函数来查询数据库中的 2 个 NoteVersion 记录并将它们作为 JSON 响应的一部分返回,该响应将用作视图的一部分以显示 2 个 Note Versdions 的比较,以便用户可以看到两条记录之间的差异。

所以假设我添加了一个新的控制器方法来构建这个视图,如果我不希望控制器方法处理查询数据库的整个过程并完成所有工作,我会放置什么类型的文件这样的函数代替吗?

假设我要构建的函数是这样的:

get2NoteVersionsForComparison($currentNoteId, $oldNoteId);

在我的控制器方法中,我想调用此方法 get2NoteVersionsForComparison($currentNoteId, $oldNoteId) 并让它返回 JSON 响应。

那么我的get2NoteVersionsForComparison($currentNoteId, $oldNoteId) 方法在哪里最适合?

存储库、模型、ServioceProvider?

【问题讨论】:

    标签: php laravel laravel-5.3


    【解决方案1】:

    我喜欢创建一个新项目或公司特定文件夹并在该文件夹中创建一个类。因此,例如,App\Acme\MyClassFile.php 将是位置。创建做其他所有事情的类。有点像一个存储库,如果你愿意的话。但是,只要您使用正确的命名空间,在哪里并不重要。

    【讨论】:

      猜你喜欢
      • 2014-12-13
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 1970-01-01
      • 2016-08-24
      • 2020-12-23
      相关资源
      最近更新 更多