이진수의 비트 연산과 관련하여 가장 일반적인 것은 "OR, AND, NOT"의 세 가지 간단한 연산입니다. 물론 PHP 매뉴얼에도 "XOR, 왼쪽 시프트, 오른쪽 시프트" .
권한 정의 방법
2의 N승 등에 따라 권한 값을 정의합니다. 왜 이렇게 정의합니까? 이 정의는 각 권한 값(바이너리)에 단 하나의 1이 있고 정확히 하나의 권한에 해당함을 보장합니다. 예:
define('ADD', 1); // 增加权限 define('UPD', 2); // 修改权限 define('SEL', 4); // 查找权限 define('DEL', 8); // 删除权限
권한 작업
권한 작업에는 실제로 "역할"이라는 개념이 포함됩니다. 권한 작업을 수행한다는 것은 특정 역할에 특정 권한을 부여하고, 특정 권한을 금지하고, 특정 역할에 특정 권한이 있는지 여부를 감지하는 것에 지나지 않습니다. 이 세 가지 작업과 관련됩니다. 이진수 간의 산술 연산을 사용하여 쉽게 구현할 수 있습니다.
// 给予某种权限用到“位或”运算符 $a_access = ADD | UPD | SEL | DEL; // a拥有增删改查权限 $b_access = ADD | UPD | SEL; // b拥有增改查权限 $c_access = ADD | UPD; // c拥有增改权限 // 禁止某种权限用“位与”和“位非”运算符 $d_access = $c_access & ~UPD; // d只拥有了增权限 // 检测是否拥有某种权限用到“位与”运算符 var_dump($b_access & ADD); // 1代表b拥有增权限 var_dump($b_access & DEL); // 0代表b不拥有删权限
간단한 권한 클래스 및 역할 클래스 구현
위의 권한 연산 방법을 사용하면 간단하게 권한 클래스와 역할 클래스로 캡슐화할 수 있습니다.
위 내용은 PHP 비트 연산자 권한 작업의 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!