为同一资源加载多个视图的最佳做法

时间:2016-11-01 02:03:26

标签: php laravel

我很难找到在Laravel中加载同一资源的多个视图的最佳方法。我会解释一下这个问题:

我有一个名为Books的资源,它有一个名为BooksController的控制器,它带有基本的restfull方法(索引,存储等)。现在我希望在我的主页上,这些书籍可以加载来自不同资源的不同内容,但我也希望这些书籍在不同的页面中加载不同的资源,这就是我在找不到的地方。我应该使用控制器。

我应该何时使用BooksController GET请求,因为它永远不会只显示与书籍相关的内容?

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

也许我根本不应该使用休息,只为每个页面创建一个控制器?

我真的需要一个亮点来帮助我更好地理解使用MVC和REST的页面和控制器流程,提前感谢!

1 个答案:

答案 0 :(得分:0)

以下是我如何构建它:

  • controller处理每个资源的任何CRUD操作(一个控制器用于Book,一个控制器用于其他资源)
  • controller处理您的观点,此控制器将是您混合每个资源以创建所需视图的控制器

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

您可以构建资源控制器以充当API,并且get请求仅返回JSON。这也可以使您的前端javascript更容易与您的资源进行交互。