Tach!
Es ist einfacher, du nimmst ein Array mit den drei Werten. Alternativ kannst du auch eine einfache Klasse erstellen. Die kannst du bei Bedarf sogar noch beliebig erweitern.
Ich finde eine eigene Klasse ist komplizierter als die Bit-Operatoren
Eine Klasse wäre in erster Linie lediglich zum Zusammenfassen der Daten da. Sie bekommt drei Boolean-Eigenschaften und einen Konstruktor, mit dem man alle drei gleichzeitig setzen kann. Lesender und schreibender Zugriff erfolgt direkt über diese drei Eigenschaften.
Die Rechte als Integer haben, oberflächlich betrachtet, auch erstmal den Vorteil, dass ich ihn in 1 Spalte einer Tabelle ablegen kann. So muss ich die Tabelle nicht erweitern wenn ich die Rechte erweitern will.
Mit MySQLs/MariaDBs Datentyp SET braucht es auch nur ein Feld (Auch VARCHAR statt SET wäre denkbar). Du kannst die Klasse erweitern, zum Beispiel mit __toString(), um die gesetzten Werte kommasepariert zurückzuliefern. Der Konstruktur könnte unterscheiden, ob er einen oder drei Parameter bekommt. Bei nur einem parst er den Inhalt und verteilt ihn auf die drei Eigenschaften.
dedlfix.