ArrayPermissionCatalog
The in-memory / config {@see PermissionCatalog} — the `InMemorySessionStore` analog: a real, usable catalog with no database. Build it from typed {@see Permission}/{@see Role} objects, or from a plain config array via {@see self::fromArray()}.
ArrayPermissionCatalog::__construct()
public function __construct(array $permissions, array $roles):Parameters
| Name | Type | Description |
|---|---|---|
| $permissions | array<Permission> | may arrive gap-keyed (e.g. from array_filter); normalized to a list |
| $roles | list<Role> |
ArrayPermissionCatalog::fromArray()
public static function fromArray(array $config): selfBuilds a catalog from a config array of permission-key strings (parsed via {@see Permission::parse}).
Parameters
| Name | Type | Description |
|---|---|---|
| $config | array{permissions?: list<string>, roles?: array<string, array{label?: string, permissions: list<string>}>} |
ArrayPermissionCatalog::permissions()
public function permissions(): arrayArrayPermissionCatalog::roles()
public function roles(): arrayAll roles declared in this catalog.
ArrayPermissionCatalog::role()
public function role(string $id): ?Milpa\Auth\RoleThe role with this id, or null when unknown (fail-closed).
Parameters
| Name | Type | Description |
|---|---|---|
| $id | string |