NamedRole.php 1.7 KB
Newer Older
1
2
3
4
5
6
<?php
namespace UnicaenAuth\Acl;

use Zend\Permissions\Acl\Role\RoleInterface;

/**
7
 * Rôle avec nom explicite (humainement intelligible).
8
 *
9
 * @author Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>
10
11
12
13
14
15
16
 */
class NamedRole extends \BjyAuthorize\Acl\Role
{
    /**
     * @var string
     */
    protected $roleName;
17
18
19
20
21
    
    /**
     * @var string
     */
    protected $roleDescription;
22
23
24
25
26

    /**
     * @param string|null               $roleId
     * @param RoleInterface|string|null $parent
     * @param string                    $roleName
27
     * @param string                    $roleDescription
28
     */
29
    public function __construct($roleId = null, $parent = null, $roleName = null, $roleDescription = null)
30
31
32
33
    {
        parent::__construct($roleId, $parent);
        
        $this->setRoleName($roleName ?: $roleId);
34
        $this->setRoleDescription($roleDescription ?: null);
35
36
37
    }

    /**
38
     * Retourne le nom du rôle.
39
40
41
42
43
44
45
46
47
     * 
     * @return string
     */
    public function getRoleName()
    {
        return $this->roleName;
    }

    /**
48
     * Spécifie le nom du rôle.
49
50
51
52
53
54
55
56
57
     * 
     * @param string $roleName
     * @return self
     */
    public function setRoleName($roleName)
    {
        $this->roleName = (string) $roleName;
        return $this;
    }
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

    /**
     * Retourne la description du rôle.
     * 
     * @return string
     */
    public function getRoleDescription()
    {
        return $this->roleDescription;
    }

    /**
     * Spécifie la description du rôle.
     * 
     * @param string $roleDescription
     * @return self
     */
    public function setRoleDescription($roleDescription)
    {
        $this->roleDescription = (string) $roleDescription;
        return $this;
    }
80
}