麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

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

2024-09-04 11:46:54
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了二進制交叉權限微型php類,需要的朋友可以參考下

靚點:

1、多對多交叉場景分配;

2、php新特性-閉包使用、批處理函數array_walk/array_flip使用;

3、位運算&使用案例;

使用場景:

1、常見增刪改查(2的N次方值入庫);

2、認證、第三方賬號綁定、多分類選擇;

代碼如下:

  1. <?php 
  2.  
  3. class s_allow{ 
  4.  
  5. //聲明使用場景,任務清單 
  6. public $scene,$case_list=array(); 
  7.  
  8. //聲明指定用戶角色、允許值、允許清單 
  9. public $allow_value=0,$allow_list=array(); 
  10.  
  11.  
  12. //初始化場景、角色 
  13. function __construct($scene,$allow_value=0){ 
  14. $this->scene=$scene
  15. $this->case_list=$this->case_list(true); 
  16.  
  17. if ($allow_value) { 
  18. $this->allow_value=$allow_value
  19. $this->allow_list=$this->allow_list($allow_value,true); 
  20.  
  21.  
  22. //取得全部任務清單 
  23. function case_list($mode=false){ 
  24. $case_list=config($this->scene,'allow'); 
  25. return $mode ? $case_list : array_keys($case_list); 
  26.  
  27.  
  28. //取得用戶任務清單 
  29. function allow_list($allow_value=0,$mode=false){ 
  30. $buffer=array(); 
  31. foreach ($this->case_list as $key=>$value) { 
  32. if ($allow_value & pow(2,$key-1)) { 
  33. $buffer[$key]=$value
  34. return $mode ? $buffer : array_keys($buffer); 
  35.  
  36.  
  37. //計算允許值 
  38. function allow_value($allow_list=null){ 
  39. if ($allow_list==null) $allow_list=$this->allow_list; 
  40. array_walk($allow_listfunction($value,$keyuse(&$allow_list){ 
  41. $allow_list[$key]=pow(2,$value-1); 
  42. }); 
  43. return array_sum($allow_list); 
  44.  
  45.  
  46. //判斷是否允許 
  47. function is_allow($case){ 
  48. $case_list=array_flip($this->case_list); 
  49. return (bool)($this->allow_value & pow(2,$case_list[$case]-1)); 

代碼如下:

  1. [access] 
  2. 1=add 
  3. 2=del 
  4. 3=read 
  5. 4=list 
  6. 5=mod 
  7. 6=detail 
  8. 7=pub 
  9. 8=collect 
  10. 9=like 
  11. 10=send 
  12.  
  13.  
  14. [cert] 
  15. 1=email 
  16. 2=tel 
  17. 3=qq 
  18. 4=identity_card 
  19. 5=real_name 
  20. 6=business_license 
  21.  
  22.  
  23. [bind] 
  24. 1=qq 
  25. 2=weibo 
  26. 3=taobao 
  27. 4=alipay 
  28. 5=renren 
  29. 6=weichat 
  30. 7=baidu 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中日韩乱码一二新区 | www.17c亚洲蜜桃| av成人在线电影 | 国产精品久久久久久久久久大牛 | 亚洲性生活免费视频 | 噜噜噜在线 | 亚洲视频综合网 | 亚洲天堂中文字幕在线观看 | 日韩黄色一区 | 久久精品亚洲成在人线av网址 | 免费在线看a | 欧美一级aa免费毛片 | 久久久噜噜噜久久熟有声小说 | 天天操天天骑 | 国产三级在线观看a | 亚洲欧美国产高清va在线播放 | 神马福利网 | 最近日本电影hd免费观看 | 黑人一区二区 | 天天草夜夜爽 | 嗯~啊~用力~高h | 成人免费久久 | 亚洲va在线| 久久丝袜脚交足黄网站免费 | 91精品国| 国产免费片 | 黄色毛片视频在线观看 | 国产精品视频在线观看免费 | 国产精品成人一区二区三区吃奶 | 伊久在线 | 一级大黄毛片 | 久久亚洲精品国产一区 | 国产乱轮视频 | 久久久国产精品免费观看 | 4p嗯啊巨肉寝室调教男男视频 | 秋霞a级毛片在线看 | 麻豆国产网站 | 无码av女优 | 国产午夜免费视频 | v天堂在线视频 | 一区二区久久精品66国产精品 |