一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

二進制交叉權限微型php類分享

靚點:
1、多對多交叉場景分配;
2、php新特性-閉包使用、批處理函數array_walk/array_flip使用;
3、位運算&使用案例;

使用場景:
1、常見增刪改查(2的N次方值入庫);
2、認證、第三方賬號綁定、多分類選擇;

復制代碼 代碼如下:
<?php

class s_allow{

//聲明使用場景,任務清單
public $scene,$case_list=array();

//聲明指定用戶角色、允許值、允許清單
public $allow_value=0,$allow_list=array();


//初始化場景、角色
function __construct($scene,$allow_value=0){
$this->scene=$scene;
$this->case_list=$this->case_list(true);

if ($allow_value) {
$this->allow_value=$allow_value;
$this->allow_list=$this->allow_list($allow_value,true);
}
}


//取得全部任務清單
function case_list($mode=false){
$case_list=config($this->scene,'allow');
return $mode ? $case_list : array_keys($case_list);
}


//取得用戶任務清單
function allow_list($allow_value=0,$mode=false){
$buffer=array();
foreach ($this->case_list as $key=>$value) {
if ($allow_value & pow(2,$key-1)) {
$buffer[$key]=$value;
}
}
return $mode ? $buffer : array_keys($buffer);
}


//計算允許值
function allow_value($allow_list=null){
if ($allow_list==null) $allow_list=$this->allow_list;
array_walk($allow_list, function($value,$key) use(&$allow_list){
$allow_list[$key]=pow(2,$value-1);
});
return array_sum($allow_list);
}


//判斷是否允許
function is_allow($case){
$case_list=array_flip($this->case_list);
return (bool)($this->allow_value & pow(2,$case_list[$case]-1));
}
}

復制代碼 代碼如下:
[access]
1=add
2=del
3=read
4=list
5=mod
6=detail
7=pub
8=collect
9=like
10=send


[cert]
1=email
2=tel
3=qq
4=identity_card
5=real_name
6=business_license


[bind]
1=qq
2=weibo
3=taobao
4=alipay
5=renren
6=weichat
7=baidu

php技術二進制交叉權限微型php類分享,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 91在线视频免费91 | 色妹子影院 | 国产精品二 | 在线亚洲成人 | 日韩av成人 | 亚洲图片在线视频 | 欧美日本韩国一区二区 | 亚洲久草 | 在线播放一区二区三区 | 欧美久色 | 国产精品久久久久999 | 国内精品免费久久久久妲己 | 精品九九九 | 岛国大片在线免费观看 | 国产成人精品久久亚洲高清不卡 | 国产精品女同一区二区久久夜 | 亚洲日本一区二区 | 国产高颜值露脸在线观看 | 伊人网综合在线 | 欧美日韩亚洲国产一区二区综合 | 日韩精品视频观看 | 色欧洲| 国产一区二区三区在线观看视频 | 精品国产一区二区三区成人 | 怡红院官网 | 色婷婷99综合久久久精品 | 国产亚洲一区二区在线观看 | 色在线免费 | 天天色色网 | 911精品国产91久久久久 | 成人免费看片视频色多多 | 久久99国产精品免费观看 | 成人欧美视频在线观看 | www.国产视频 | 久久国产一级毛片一区二区 | 亚洲午夜小视频 | 91免费版在线观看 | 成人免费看黄网站yyy456 | 亚洲欧美视频 | 在线观看91 | 亚洲第一黄 |