Rule.php 1.23 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
<?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

namespace yii\rbac;

use yii\base\Object;

/**
13
 * Rule represents a business constraint that may be associated with a role, permission or assignment.
14 15 16
 *
 * @author Alexander Makarov <sam@rmcreative.ru>
 * @since 2.0
17 18 19
 */
abstract class Rule extends Object
{
20 21 22
    /**
     * @var string name of the rule
     */
23
    public $name;
24 25 26 27 28 29 30 31
    /**
     * @var integer UNIX timestamp representing the rule creation time
     */
    public $createdAt;
    /**
     * @var integer UNIX timestamp representing the rule updating time
     */
    public $updatedAt;
32

33

34 35 36
    /**
     * Executes the rule.
     *
37 38
     * @param string|integer $user the user ID. This should be either an integer or a string representing
     * the unique identifier of a user. See [[\yii\web\User::id]].
Qiang Xue committed
39 40
     * @param Item $item the role or permission that this rule is associated with
     * @param array $params parameters passed to [[ManagerInterface::checkAccess()]].
41
     * @return boolean a value indicating whether the rule permits the auth item it is associated with.
42
     */
43
    abstract public function execute($user, $item, $params);
44
}