# Abstract Class yii\rbac\Rule

Inheritance | yii\rbac\Rule » yii\base\BaseObject
Implements | yii\base\Configurable
Available since version | 2.0
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/rbac/Rule.php

Rule represents a business constraint that may be associated with a role, permission or assignment.

For more details and usage information on Rule, see the guide article on security authorization.

## Public Properties

Hide inherited properties

Property | Type | Description | Defined By
--- | --- | --- | ---
$createdAt | integer | UNIX timestamp representing the rule creation time | yii\rbac\Rule
$name | string | Name of the rule | yii\rbac\Rule
$updatedAt | integer | UNIX timestamp representing the rule updating time | yii\rbac\Rule

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
__call() | Calls the named method which is not a class method. | yii\base\BaseObject
__construct() | Constructor. | yii\base\BaseObject
__get() | Returns the value of an object property. | yii\base\BaseObject
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\BaseObject
__set() | Sets value of an object property. | yii\base\BaseObject
__unset() | Sets an object property to null. | yii\base\BaseObject
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\BaseObject
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\BaseObject
className() | Returns the fully qualified name of this class. | yii\base\BaseObject
execute() | Executes the rule. | yii\rbac\Rule
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\BaseObject
hasProperty() | Returns a value indicating whether a property is defined. | yii\base\BaseObject
init() | Initializes the object. | yii\base\BaseObject

## Property Details

$createdAt public property

UNIX timestamp representing the rule creation time

public integer $createdAt = null
$name public property

Name of the rule

public string $name = null
$updatedAt public property

UNIX timestamp representing the rule updating time

public integer $updatedAt = null

## Method Details

execute() public abstract method

Executes the rule.

public abstract boolean execute ( $user, $item, $params )
$user | string|integer | The user ID. This should be either an integer or a string representing the unique identifier of a user. See yii\web\User::$id.
$item | yii\rbac\Item | The role or permission that this rule is associated with
$params | array | Parameters passed to yii\rbac\CheckAccessInterface::checkAccess().
return | boolean | A value indicating whether the rule permits the auth item it is associated with.