搜索
首页 电脑/网络

二进制交叉权限微型php类详解_PHP教程

全部回答

2023-03-15

0 0
这篇文章主要介绍了二进制交叉权限微型php类,需要的朋友可以参考下

靓点:1、多对多交叉场景分配;2、php新特性-闭包使用、批处理函数array_walk/array_flip使用;3、位运算&使用案例; 使用场景:1、常见增删改查(2的N次方值入库);2、认证、第三方账号绑定、多分类选择; 代码如下: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=add2=del3=read4=list5=mod6=detail7=pub8=collect9=like10=send [cert]1=email2=tel3=qq4=identity_card5=real_name6=business_license [bind]1=qq2=weibo3=taobao4=alipay5=renren6=weichat7=baidu

http://www.bkjia.com/PHPjc/730222.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/730222.htmlTechArticle这篇文章主要介绍了二进制交叉权限微型php类,需要的朋友可以参考下 靓点:1、多对多交叉场景分配;2、php新特性-闭包使用、批处理函数.

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
电脑/网络
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
举报
举报原因(必选):
取消确定举报