私は次のように機能する権限システムを構築しています:
DEFINE ('CAN_POST', 1);
DEFINE ('CAN_READ', 2);
DEFINE ('IS_GUEST', '');
DEFINE ('IS_USER', CAN_READ);
DEFINE ('IS_MODERATOR', CAN_READ | CAN_POST);
次に、次のようないくつかの権限を持つ現在のユーザーがいます。
DEFINE ('CURRENT', IS_MODERATOR);
そして私はこのようにチェックします:
if (CURRENT & CAN_POST) print('CAN MAKE POSTS<br />');
if (CURRENT & CAN_READ) print('CAN READ STUFF<br />');
ここから問題が始まります。
データベースから現在のユーザー権限を取得する必要がありますが、これはもちろん文字列です。たとえば、データベースには次のようなものがあります。これは、ユーザーがこれに加えて持っIS_MODERATOR | CAN_REVIEW
ているすべての権限をIS_MODERATOR
持っていることを意味します。(CAN_READ, CAN_POST)
CAN_REVIEW
文字列だけでなく機能CURRENT
する定数を定義するにはどうすればよいですか? IS_MODERATOR | CAN_REVIEW