>  기사  >  백엔드 개발  >  PHP 비트 연산자 권한 작업의 예에 대한 자세한 설명

PHP 비트 연산자 권한 작업의 예에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-06-21 10:26:031375검색

이진수의 비트 연산과 관련하여 가장 일반적인 것은 "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.