在任何路线上重用动作的最佳(或正确)方法? [Laravel 4.2]

The best (or the proper) way to reuse action at any route? [Laravel 4.2]

我只是通过最近得到的一本书学习了一些 Laravel 4.2(主要是我先学习 4.2 而不是 5 的原因)。但现在我有点不确定。

假设我有一个博客应用程序。总会有一个带有类别列表的侧边栏(全部在数据库中)。获取所有类别并始终显示它们的最佳方法是什么,无论我在什么 route/controller 中?

  1. View 中,我应该简单地调用模型 Categories::all() 并对其进行处理吗?如果我想要更多的业务逻辑怎么办(假设将来不要显示空类别,只有当前用户可以访问的类别等)
  2. 我是否应该制作用于检索类别的控制器并将其传回,并每次使用 App::make('CategoryController')->getList() 调用该控制器?
  3. 我不知道的其他方式?

我正在寻找一种方法,让一些代码每次都能 运行,共享给许多控制器(例如,如果用户已登录,则另一个框会显示在侧边栏中,其中包含一些信息)。

到目前为止,我认为 #1 是我应该使用的方法。

但我想确认是否是。或者,如果有正确的方法,我不知道。

您使用的是 V4.2,它有一个叫做 View Composer

的东西

查看 this 教程。我认为这将解决您的问题。