在任何路线上重用动作的最佳(或正确)方法? [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 中?
- 在
View
中,我应该简单地调用模型 Categories::all()
并对其进行处理吗?如果我想要更多的业务逻辑怎么办(假设将来不要显示空类别,只有当前用户可以访问的类别等)
- 我是否应该制作用于检索类别的控制器并将其传回,并每次使用
App::make('CategoryController')->getList()
调用该控制器?
- 我不知道的其他方式?
我正在寻找一种方法,让一些代码每次都能 运行,共享给许多控制器(例如,如果用户已登录,则另一个框会显示在侧边栏中,其中包含一些信息)。
到目前为止,我认为 #1 是我应该使用的方法。
但我想确认是否是。或者,如果有正确的方法,我不知道。
您使用的是 V4.2,它有一个叫做 View Composer
的东西
查看 this 教程。我认为这将解决您的问题。
我只是通过最近得到的一本书学习了一些 Laravel 4.2
(主要是我先学习 4.2
而不是 5
的原因)。但现在我有点不确定。
假设我有一个博客应用程序。总会有一个带有类别列表的侧边栏(全部在数据库中)。获取所有类别并始终显示它们的最佳方法是什么,无论我在什么 route/controller 中?
- 在
View
中,我应该简单地调用模型Categories::all()
并对其进行处理吗?如果我想要更多的业务逻辑怎么办(假设将来不要显示空类别,只有当前用户可以访问的类别等) - 我是否应该制作用于检索类别的控制器并将其传回,并每次使用
App::make('CategoryController')->getList()
调用该控制器? - 我不知道的其他方式?
我正在寻找一种方法,让一些代码每次都能 运行,共享给许多控制器(例如,如果用户已登录,则另一个框会显示在侧边栏中,其中包含一些信息)。
到目前为止,我认为 #1 是我应该使用的方法。
但我想确认是否是。或者,如果有正确的方法,我不知道。
您使用的是 V4.2,它有一个叫做 View Composer
的东西查看 this 教程。我认为这将解决您的问题。