这是固执己见的 Laravel 8.0 管理面板构建的样板,带有 AdminLTE 3.0 主题、Alpinejs 2.0、Livewire 2.0,支持测试和可选功能分支。
你可以查看这个 repo 我正在积极致力于 Laravel Castra。相同的想法,不同的工具(Hotwire Turbo)。
有时包太大或太麻烦而无法使用。其他时候,软件包没有您正在寻找的关键功能,您需要进行一些修改来绕过它。
您所缺少的是对代码的控制,现在您拥有了!不喜欢添加新用户的方式。没问题。您可以随意修改代码。不再需要分叉包和弄乱他们的代码。这个想法是创建标准功能的分支,并使其他人可以将它们合并到他们的主分支中。
这是支持的功能分支的列表。通过将它们合并到 master 中,您可以解锁新功能。
安装 Laravel 后,您应该运行这些命令:
git clone https://github.com/jcergolj/laravellte.git
composer install
cp .env.example .env
php artisan key:generate
npm install
npm run dev
composer cghooks update
php artisan migrate:fresh --seed
让我们面对现实吧。有时我们很草率,没有最好地照顾代码。我添加了一些有用的软件包(这不是很讽刺吗)以尽可能减轻开发人员的负担。
"php artisan insights --no-interaction --min-quality=90 --min-complexity=85 --min-architecture=90 --min-style=95"
对于 CRUD 操作,您可以考虑使用内置文件脚手架命令。它为索引、创建、显示、编辑和删除操作生成文件,如下所示:
php artisan make:ltd-component bla --index --create --show --edit --delete
您可以省略任何选项。如果您愿意,可以根据需要更新stubs
文件。脚手架文件中有注释,可以提醒您修改代码。您可以通过键入以下内容找到: index-review
、 create-review
、 show-review
、 edit-review
、 delete-review
。工厂和模型脚手架不包含在此命令中。
Laravelte 使用基于角色权限的授权系统。只有具有管理员角色的用户才能添加新角色并为其分配权限。
对于新资源,权限是通过 PermissionsTableSeeder 添加的。按照惯例,主要权限类型是索引、创建、编辑、显示和删除,资源以复数前缀。示例: users.index 。话虽如此,您可以自由添加自己的。但是,您必须检查/修改代码。
根据惯例,路由名称必须属于以下类型: index 、 create 、 edit 、 show和delete 。参见示例。
对于 livewire 组件,命名它们的约定如下:您必须使用这些类型,后跟资源名称,然后是组件。例如 IndexUserComponent 所有 Livewire 组件都必须使用 HasLivewireAuth 特征。这里是实现。
向角色添加权限时,有一个名为owner_restricted 的额外字段。如果所有者限制字段对于任何索引页为true,则具有该权限的用户只能看到自己的资源。但是,为了使其正常工作,资源必须在启动方法中添加owner_id 和VisibleTo全局附加。
如果显示、编辑和删除类型的所有者限制字段为true ,则用户只能修改他拥有的资源。
对于创建类型,所有者限制将被忽略。
它的核心是处理授权的 ForRouteGate。荣誉奖颁给了授权中间件。
对于管理员角色权限限制不适用。
根据 MIT 许可证获得许可
贾内兹·塞尔戈利 | 奥拉西奥·德吉奥尔吉 | 克里斯·汤普森 | 马杜卡·贾亚拉特 |