synopsie / olymp-permission
API allowing to save permissions in a simplified way, without going through the plugin.yml or registering classes.
Installs: 35
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/synopsie/olymp-permission
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-10-08 12:58:18 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);