php - 如何根据用户类型在 Laravel 中创建路由?
问题描述
基于已经创建的用户模型和表,根据用户类型创建路由的最佳实践是什么?
Usertype 是一个模型和表字段。
盖茨和/或政策是最佳实践吗?
例如:如果经过身份验证的用户是管理员用户,则可以访问某些视图,如果用户是非管理员,则可以访问其他视图。
互联网上有很多链接,但我找不到“那个”。
解决方案
如果不同的视图有许多共同的元素,那么创建一个视图作为模板可能是个好主意,然后其他视图扩展该模板,将它们的不同部分设置为刀片部分。
{{-- Template --}}
<span>The view</span>
<div>
@yield('content')
</div>
{{-- One of the views --}}
@extends('template')
@section('content')
<span>Specific content</span>
@endsection
如果每个视图中呈现的内容完全不同,最好为每个视图设置一个控制器方法。然后,对于一个路由,使用闭包根据您需要的标准来决定调用哪个控制器方法。
Route::get('/products/{product}', function (Product $product) {
$method = Gate::allows('view_details', $product) ? 'viewDetails' : 'viewGeneralInfo';
return app('ProductController')
->callAction($method, ['product' => $product]);
});
推荐阅读
- powershell - 监控windows甚至log
- javascript - 根据 PC 上的日期,使用 javascript 在日历上突出显示日期
- excel - 如果相邻单元格值与列名匹配,则 Excel VBA 在列下插入行
- asp.net - Roslyn msWorkspace.OpenSolutionAsync() 不打开网站项目
- python - 多元线性回归和选择列错误
- javascript - 如何从 div Javascript 中的文本中删除删除最后几个字符?
- decision-tree - 根据预期效用选择操作
- javascript - 从统一 webGL 向嵌入它的 vue 页面发送消息
- javascript - 如何编写我自己的车把助手并在 patternlab-node 中使用它?
- c - 二叉搜索树,Valgrind 条件跳转或移动取决于未初始化的值