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

伊谢尔伦
풀어 주다: 2023-03-10 22:12:01
원래의
1424명이 탐색했습니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!