如何在yii中扮演角色

时间:2014-09-01 17:57:19

标签: php yii

所以我是yii框架的新手,我正在做一个网站的博客风格,试图涵盖我能想到的大部分功能,而我坚持的是具有不同用户角色的例子。

让我们说我们有一个作家和一个普通的登录用户,我想在他进入文章页面时创作一个作家,他可以看到一些按钮,而普通的用户只能看到评论按钮。

我如何在Yii框架内提出要做的事情?和互联网上可以找到的教程?

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

列出User型号

中的所有角色
class User extends MyModel {

   const ROLE_ADMIN = 1,
      ROLE_AUTHOR = 2,
      ROLE_USER = 3;

还向用户添加role字段(在数据库和模型中)。

components/UserIdentity.php中添加一些方法

public function isAuthor() {
     return !empty($this->user) && $this->user->role == User::ROLE_AUTHOR;
}

public function isGuest(){
     return empty($this->user);
}

另外,我建议将此方法添加到User模型:

public function getRole($role = null) {
     $roles = [
         self::ROLE_ADMIN => 'Admin',
         self::ROLE_AUTHOR => 'Author',
         self::ROLE_USER => 'User',
     ];

     if (!is_null($role)) {
         return isset($roles[$role]) ? $roles[$role] : 'Unknown role';
     }

     return $roles;
}

答案 1 :(得分:0)

您好,感谢您给予我的帮助,但我找到了一个简单的指南,我很容易理解,非常好用。您可以在以下Link中找到该教程。谢谢你的帮助!