一些帮助根据权限分解代码

时间:2013-11-05 14:09:02

标签: php symfony bit-manipulation

上午,

使用此代码(symfony mask builder)

     MASK_VIEW         = 1;          // 1 << 0
     MASK_CREATE       = 2;          // 1 << 1
     MASK_EDIT         = 4;          // 1 << 2
     MASK_DELETE       = 8;          // 1 << 3
     MASK_UNDELETE     = 16;         // 1 << 4
     MASK_OPERATOR     = 32;         // 1 << 5
     MASK_MASTER       = 64;         // 1 << 6
     MASK_OWNER        = 128;

对于给定的资源,我通过添加这些权限存储权限(int),基本示例,我添加:view,create,edit,将给出7。

所以我的问题是如何“拆分”这个7以检索授予权限。

我有一个工作代码,带有“if”和“else”,但这只是丑陋的,所以任何“美丽的头脑”都会对此有所帮助吗?

1 个答案:

答案 0 :(得分:2)

这不是你用分裂但用bitwise operartor做的事情。只是把它弄清楚:

如果值来自数据库,您还可以参考: