靓点:
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

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Dreamweaver CS6
Visuelle Webentwicklungstools

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor
