Proposed Interface:
-
Offer Two Interfaces:
-
All in one
use PhpRbac\Rbac; $rbac = new Rbac; // Equals original jb::$RBAC object structure
-
Individual Components
use PhpRbac\RbacBase; use PhpRbac\RbacPermissions; use PhpRbac\RbacRoles; use PhpRbac\RbacUsers; $rbac = new RbacBase; $perms = new RbacPermissions; $roles = new RbacRoles $users = new RbacUsers;
This method allows users to extend their own class base through inheritance
-
This is alright, but its better to rename RbacBase to RbacCore, because it has the core functionality not the base abstract ones. Most needs will only use that one, and run RBAC Checks.