【问题标题】:How to structure code in Laravel for user role based menu?如何在 Laravel 中为基于用户角色的菜单构建代码?
【发布时间】:2012-10-14 05:55:01
【问题描述】:

在用户登录到我正在开发的应用程序后,根据他们的角色,他们需要看到一组不同的菜单项。

我创建了一个名为“menu”的过滤器,在其中组装菜单项。我在我的routes.php 中有这个在一切之前运行我的过滤器:

Route::group(array('before' = 'auth|menu'), function()...

在我的菜单过滤器的末尾,我有这个让菜单类在每个视图中都可以访问:

View::share('menu', $menu);

为了实际构建菜单,我使用Laravel Menu bundle,但我还没有找到从控制器动态设置菜单项“活动”标志的最佳方法。

菜单包检查 URL 以设置活动标志(这对我不起作用,因为它似乎将路径名与 URI::current() 进行比较,只有后者返回包含域、端口和所有内容的完整 URL,所以它从不匹配),但我宁愿以某种方式从我的控制器中访问 $menu 类,以便我可以直接修改它。

我应该怎么做?当使用注册表(又名美化全局变量)时会出现这种情况吗?

【问题讨论】:

    标签: design-patterns menu bundle laravel


    【解决方案1】:

    会给你基本的想法,你会准备好继续前进。使用 IoC 容器将菜单对象实例化为单例,然后从控制器或视图中访问它。另一种注入菜单的方法是使用 View Composer。你可以深入查看 Laravel 文档和源代码。

    【讨论】:

      猜你喜欢
      • 2023-03-19
      • 1970-01-01
      • 2018-11-10
      • 2017-06-08
      • 2021-08-06
      • 1970-01-01
      • 2013-05-14
      • 2019-09-10
      • 1970-01-01
      相关资源
      最近更新 更多