我是Laravel的新手(相对较新的MVC概念),并观看了几个小时的教程并阅读了许多其他内容,但有一个简单的常见任务使我无法理解:跨控制器在系统中重复使用相同基本元素(如CMS)的最佳方式是什么?如何在Laravel中重新使用控制器中的代码
场景:
我有一个内容管理系统,并希望使用不同的控制器,用于每种类型的功能:例如用于管理帖子的帖子控制器,用于管理用户的用户控制器,用于菜单项目的菜单控制器等等。大多数教程推荐这种类型的工作流程。
但是,在实际的CMS前端,我有很多常见的动态元素(来自数据库),但仍然需要在所有控制器上显示。例如,菜单(来自数据库),当前用户的详细信息(用户名和与权限相关的按钮)等。使用Blade显示给用户(前端)很容易,但我可以'找出在后端执行此操作的最佳方法。
例如,如果每个控制器分别从数据库获取菜单,那就是(缺少)代码重复使用的噩梦。另一方面,从我可以插入此代码并将其传递到所有控制器的视图中,似乎没有一个中心位置。我确信Laravel开发人员已经想到了这种非常常见的情况。实施它的最佳方式是什么?
[View Composers!](http://laravel.com/docs/5.0/views#view-composers) – lukasgeiter
谢谢,这正是我一直在寻找的。你能把它作为答案吗? – Ynhockey
不客气。我不喜欢只发布一个链接作为答案。也许我会稍后写一个适当的答案... – lukasgeiter