gpt4 book ai didi

php - 当您对二进制系统有很多权限时该怎么办?

转载 作者:搜寻专家 更新时间:2023-10-31 22:12:15 24 4
gpt4 key购买 nike

我打算使用二进制系统来处理我的权限,如下所示:

<?php
const POST = 1;
const DELETE = 2;
const UPDATE = 4;
const READ = 8;
const ADMIN = 16;
const ADD_PRODUCT = 32;
const DELETE_PRODUCT = 64;
const ADD_BLOG = 128;


$permission = decbin('5');

if ($permission & POST) { echo "POST <br />"; }
if ($permission & DELETE) { echo "DELETE <br />"; }
if ($permission & UPDATE) { echo "UPDATE <br />"; }
if ($permission & READ) { echo "READ <br />"; }
if ($permission & ADMIN) { echo "ADMIN <br />"; }

?>

有了一些权限,这会很好地工作。但是,如果我有 40 种不同的权限怎么办?然后我需要将一些非常大的数字相加,这很麻烦。

还有其他办法吗?

任何信息或帮助将不胜感激!

最佳答案

1) 使用十六进制定义常量 - 键入起来更容易。

2) 将单独的权限分解为不同的用户角色。

例如

const BLOG_POST      = 0x01;
const BLOG_DELETE = 0x02;
const BLOG_UPDATE = 0x04;
const BLOG_READ = 0x08;
const BLOG_SUBSCRIBE = 0x10;

const ADMIN_IS_ADMIN = 0x01;
const ADMIN_ADD_PRODUCT = 0x02;
const ADMIN_DELETE_PRODUCT = 0x04;
const ADMIN_ADD_BLOG = 0x08;

即使你的数字很大,它们仍然很容易输入

const ADMIN_SOME_PERMISSION   = 0x1000;
const ADMIN_SOME_PERMISSION2 = 0x2000;

关于php - 当您对二进制系统有很多权限时该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11619892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com