为同一资源加载多个视图的最佳实践


Best practices to load multiple views for same resource

我在Laravel中加载同一资源的多个视图的最佳方式。我来解释这个问题:

我有一个名为Books的资源,它有一个名为BooksController的控制器,具有基本的rest方法(索引,存储等)。现在我希望,在我的主页中,这些书能从不同的资源中加载不同的东西,但我也希望这些书能在不同的页面中加载不同的资源,这就是我找不到我应该使用的控制器的地方。

我什么时候应该使用BooksController GET请求,因为它永远不会只显示与书籍相关的东西?

我应该为每个页面创建一个控制器吗?像HomeController一样显示具有不同资源的书籍,对任何其他-Page-Controller也是一样,只留下BooksController用于更新和存储?

也许我不应该使用rest,只是为每个页面创建一个控制器?

我真的需要一个灯在这里帮助我更好地理解这个页面和控制器流使用MVC和REST,提前感谢!

我将如何构建它:

  • controller处理每个资源的任何CRUD操作(一个控制器用于您的Book,一个用于您的其他资源)
  • 有一个controller处理你的视图,这个控制器将是一个你混合你的每个资源来创建你想要的视图

分开你的控制器来处理特定的逻辑是可以的,只要你保持某种惯例来跟踪这一点,比如以特定的方式命名你的控制器,这样你就可以快速区分它们。

你可以构造你的资源控制器作为一个API,并且get请求将只返回JSON。这也会使你的前端javascript更容易与你的资源进行交互。