【发布时间】:2015-04-19 14:05:20
【问题描述】:
我是 Laravel 的新手(总体上对 MVC 概念相对较新)并且已经观看了数小时的教程并阅读了许多其他教程,但是有一个简单的常见任务让我无法理解:重用跨控制器的系统(例如 CMS)中的基本元素是否相同?
场景:
我有一个内容管理系统,并且想为每种类型的功能使用不同的控制器:例如用于操作帖子的帖子控制器、用于管理用户的用户控制器、用于菜单项的菜单控制器等。大多数教程都推荐这种类型的工作流。
但是,在实际的 CMS 前端中,我有许多常见的动态元素(来自数据库),但仍需要在所有控制器中显示。例如,菜单(来自数据库)、当前用户的详细信息(用户名和根据权限的相关按钮)等。使用 Blade 向用户显示(前端)很容易,但我可以' t 找出在后端执行此操作的最佳方法。
例如,如果每个控制器分别从数据库中获取菜单,那就是(缺乏)代码重用的噩梦。另一方面,似乎没有一个中心位置可以插入此代码并将其传递到所有控制器的视图中。我确信 Laravel 开发人员已经想到了这种极其常见的场景。最好的实现方式是什么?
【问题讨论】:
-
谢谢,这正是我想要的。您可以将其发布为答案吗?
-
不客气。我不喜欢只发布一个链接作为答案。也许我稍后会写一个正确的答案......
标签: php laravel model-view-controller laravel-5