synopsie / olymp-permission
允许以简化方式保存权限,无需通过plugin.yml或注册类。
v1.0.2
2024-08-08 10:32 UTC
Requires
- php: ^8.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.60
- pocketmine/pocketmine-mp: ^5.17
This package is auto-updated.
Last update: 2024-09-08 10:40:44 UTC
README
API 允许以简化方式保存权限,无需通过 plugin.yml 或注册类。
📦 安装
- 将仓库添加到文件
composer.json
composer require synopsie/olymp-permission
🛠 使用
- 创建
PermissionManager实例
$manager = new olymp\PermissionManager();
- 创建包含我们权限的枚举类
enum PermissionsBase : string { case PERMISSION_BASE = "synopsie.permission.base"; /** * @throws MissingPermissionException */ public static function getPermission(string $permissionName) : string { return match ($permissionName) { 'base' => self::PERMISSION_BASE->value, default => throw new MissingPermissionException("Permission $permissionName not found") }; } }
- 注册枚举类
$manager->registerEnum(PermissionsBase::cases());
- 创建包含权限的类
class PermissionsBase { public const PERMISSION_BASE = "synopsie.permission.base"; }
⚠ 注意:类的常量必须以 PERMISSION_ 开头
- 注册类
$manager->registerClass(new PermissionsBase());
- 注册权限
$manager->registerPermission("synopsie.permission.base", 'synopsie.base'), DefaultPermissions::ROOT_USER)
- 获取权限类型
$manager->getType($string);
