Class Registry

Summary

Fully Qualified Name: Zend\Permissions\Acl\Role\Registry

Description

Methods

Name Description Defined By
add() Adds a Role having an identifier unique to the registry Registry
get() Returns the identified Role Registry
getParents() Returns an array of an existing Role's parents Registry
getRoles() Get all roles in the registry Registry
has() Returns true if and only if the Role exists in the registry Registry
inherits() Returns true if and only if $role inherits from $inherit Registry
remove() Removes the Role from the registry Registry
removeAll() Removes all Roles from the registry Registry

Method Details

add()

Adds a Role having an identifier unique to the registry

The $parents parameter may be a reference to, or the string identifier for, a Role existing in the registry, or $parents may be passed as an array of these - mixing string identifiers and objects is ok - to indicate the Roles from which the newly added Role will directly inherit.

In order to resolve potential ambiguities with conflicting rules inherited from different parents, the most recently added parent takes precedence over parents that were previously added. In other words, the first parent added will have the least priority, and the last parent added will have the highest priority.

Parameter Name Type Description
$role \RoleInterface
$parents \RoleInterface|string|array|\Traversable

Returns: \Registry Provides a fluent interface

get()

Returns the identified Role

The $role parameter can either be a Role or a Role identifier.

Parameter Name Type Description
$role \RoleInterface|string

Returns: \RoleInterface

getParents()

Returns an array of an existing Role's parents

The array keys are the identifiers of the parent Roles, and the values are the parent Role instances. The parent Roles are ordered in this array by ascending priority. The highest priority parent Role, last in the array, corresponds with the parent Role most recently added.

If the Role does not have any parents, then an empty array is returned.

Parameter Name Type Description
$role \RoleInterface|string

Returns: array

getRoles()

Get all roles in the registry

Returns: array

has()

Returns true if and only if the Role exists in the registry

The $role parameter can either be a Role or a Role identifier.

Parameter Name Type Description
$role \RoleInterface|string

Returns: bool

inherits()

Returns true if and only if $role inherits from $inherit

Both parameters may be either a Role or a Role identifier. If $onlyParents is true, then $role must inherit directly from $inherit in order to return true. By default, this method looks through the entire inheritance DAG to determine whether $role inherits from $inherit through its ancestor Roles.

Parameter Name Type Description
$role \RoleInterface|string
$inherit \RoleInterface|string
$onlyParents bool

Returns: bool

remove()

Removes the Role from the registry

The $role parameter can either be a Role or a Role identifier.

Parameter Name Type Description
$role \RoleInterface|string

Returns: \Registry Provides a fluent interface

removeAll()

Removes all Roles from the registry

Returns: \Registry Provides a fluent interface

Top