synopsie / olymp-permission
API allowing to save permissions in a simplified way, without going through the plugin.yml or registering classes.
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: 2025-03-08 11:54:08 UTC
README
API permettant de sauvegarder les permissions de manière simplifiée, sans passer par le plugin.yml ni enregistrer de classes.
📦 Installation
- Ajouter le repository dans le fichier
composer.json
composer require synopsie/olymp-permission
🛠 Usage
- Créer une instance de
PermissionManager
$manager = new olymp\PermissionManager();
- Création d'une classe enum contenant nos permissions
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") }; } }
- Enregistrement de la classe enum :
$manager->registerEnum(PermissionsBase::cases());
- Création d'une classe contenant les permissions
class PermissionsBase { public const PERMISSION_BASE = "synopsie.permission.base"; }
⚠ Attention : Il est impératif que la const commence par PERMISSION_
- Enregistrement de la classe
$manager->registerClass(new PermissionsBase());
- Enregistrement d'une permission
$manager->registerPermission("synopsie.permission.base", 'synopsie.base'), DefaultPermissions::ROOT_USER)
- Avoir le type d'un permission
$manager->getType($string);