Skip to content
docsv0.9.0

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

Parameters of __construct()
NameTypeDescription
$permissionsarray<Permission>may arrive gap-keyed (e.g. from array_filter); normalized to a list
$roleslist<Role>

ArrayPermissionCatalog::fromArray()

public static function fromArray(array $config): self

Builds a catalog from a config array of permission-key strings (parsed via {@see Permission::parse}).

Parameters

Parameters of fromArray()
NameTypeDescription
$configarray{permissions?: list<string>, roles?: array<string, array{label?: string, permissions: list<string>}>}

ArrayPermissionCatalog::permissions()

public function permissions(): array

ArrayPermissionCatalog::roles()

public function roles(): array

All roles declared in this catalog.

ArrayPermissionCatalog::role()

public function role(string $id): ?Milpa\Auth\Role

The role with this id, or null when unknown (fail-closed).

Parameters

Parameters of role()
NameTypeDescription
$idstring