jefremassingue / spatie-permission-generate
用于生成权限的包
v1.0.0
2023-04-01 20:14 UTC
Requires
- php: >=7.3
- spatie/laravel-permission: ^4.2
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
Spatie Permission Generate 是一个基于目录、控制器类名和方法生成 spatie/laravel-permission 权限的包。
例如,Admin\UserController 的 index 方法 => 将具有权限 admin-user-index
。
安装
您可以通过 composer 安装此包
composer require jefremassingue/spatie-permission-generate
使用方法
在使用此包之前,您需要安装和配置 spatie/laravel-permission (https://github.com/spatie/laravel-permission)。
// Run synchronizelPermission method to generate permissions $hasGenarate = \Jefre\SpatiePermissionGenerate\SpatiePermissionGenerate::synchronizelPermission();
// Change the guard name for permissions with a given prefix $numPermissionsUpdated = \Jefre\SpatiePermissionGenerate\SpatiePermissionGenerate::changeGuardWithPrefix('api-', 'api');
Laravel 中的安装
// Set the following keys in your `.env` file: SPG_CONTROLLERS_ROOT_PATH='app/Http/Controllers' SPG_IGNORE_CLASSES_FILES='Controller,Helper\Upload, Other classes you want ignore' SPG_CONTROLLER_CLASSES_SUFFIX='Controller,_controller' SPG_IGNORE_METHODS_AND_FUNCTIONS='__construct' SPG_DEFAULT_GUARD='web'
测试
要运行测试,请执行以下命令
composer test
示例
考虑一个位于 /app/Http/Controllers/API/UserController.php
的文件
<?php namespace App\Http\Controllers\API; ... class UserController extends Controller { public function __construct() {} public function index(){} public function create(){} public function store(Request $request){} public function show($id){} public function edit($id){} public function update(Request $request, $id){} public function destroy($id){} }
生成的权限将是
api-user-index
api-user-create
api-user-store
api-user-show
api-user-edit
api-user-update
api-user-destroy
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG。
贡献
有关详细信息,请参阅 CONTRIBUTING。
安全性
如果您发现任何安全相关的问题,请通过电子邮件 jefremassingue.jm@gmail.com 或 albinomateve@gmail.com 而不是使用问题跟踪器。
致谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。
PHP 包模板
此包是使用 PHP 包模板 生成的。