當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Role::getRoleMaskByID方法代碼示例

本文整理匯總了PHP中app\Role::getRoleMaskByID方法的典型用法代碼示例。如果您正苦於以下問題:PHP Role::getRoleMaskByID方法的具體用法?PHP Role::getRoleMaskByID怎麽用?PHP Role::getRoleMaskByID使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在app\Role的用法示例。


在下文中一共展示了Role::getRoleMaskByID方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: getPermissions

 /**
  * Return the user's entire permission object,
  * build it if nessecary.
  *
  * @return array
  */
 protected function getPermissions()
 {
     if (!isset($this->permissions)) {
         $rememberTags = ["user.{$this->user_id}", "permissions"];
         $rememberTimer = 3600;
         $rememberKey = "user.{$this->user_id}.permissions";
         $rememberClosure = function () {
             $permissions = [];
             // Fetch our permission mask.
             if ($this->isAnonymous()) {
                 $permissions["anonymous"] = Role::getRoleMaskByName("anonymous");
                 if (!$this->isAccountable()) {
                     $permissions["unaccountable"] = Role::getRoleMaskByName("unaccountable");
                 }
             } else {
                 $userRoles = [];
                 foreach ($this->roles as $role) {
                     $userRoles[] = $role->role_id;
                 }
                 if (!count($userRoles)) {
                     $permissions = Role::getRoleMaskByName("anonymous");
                 } else {
                     $permissions = Role::getRoleMaskByID($userRoles);
                 }
             }
             return $permissions;
         };
         switch (env('CACHE_DRIVER')) {
             case "file":
             case "database":
                 $this->permissions = Cache::remember($rememberKey, $rememberTimer, $rememberClosure);
                 break;
             default:
                 $this->permissions = Cache::tags($rememberTags)->remember($rememberKey, $rememberTimer, $rememberClosure);
                 break;
         }
     }
     return $this->permissions;
 }
開發者ID:Ryangr0,項目名稱:infinity-next,代碼行數:45,代碼來源:PermissionUser.php

示例2: getPermissions

 /**
  * Return the user's entire permission object,
  * build it if nessecary.
  *
  * @return array
  */
 protected function getPermissions()
 {
     if (!isset($this->permissions)) {
         $this->permissions = Cache::remember("user.{$this->user_id}.permissions", 3600, function () {
             $permissions = [];
             // Fetch our permission mask.
             if ($this->isAnonymous()) {
                 $permissions["anonymous"] = Role::getRoleMaskByName("anonymous");
                 if (!$this->isAccountable()) {
                     $permissions["unaccountable"] = Role::getRoleMaskByName("unaccountable");
                 }
             } else {
                 $userRoles = [];
                 foreach ($this->roles as $role) {
                     $userRoles[] = $role->role_id;
                 }
                 if (!count($userRoles)) {
                     $permissions = Role::getRoleMaskByName("anonymous");
                 } else {
                     $permissions = Role::getRoleMaskByID($userRoles);
                 }
             }
             return $permissions;
         });
     }
     return $this->permissions;
 }
開發者ID:ee-ee,項目名稱:infinity-next,代碼行數:33,代碼來源:PermissionUser.php


注:本文中的app\Role::getRoleMaskByID方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。