Enums in PHP
Thursday, August 14th, 2008I’ve been working on a project lately where I’m rolling my own basic role-based access control (RBAC) system. In experimenting with different ways to handle the role definitions, I realized that it’d be pretty nice to have a basic enum() function or construct, as a quick, convenient way to define a set of constants. There’s this option:
1 2 3 4 5 | <?php define('ADMIN', 0); define('MODERATOR', 1); define('EDITOR', 2); ?> |
but that isn’t exactly succinct. I’d rather have something like this:
1 2 3 4 5 | <?php enum('ADMIN', 'MODERATOR', 'EDITOR'); // ADMIN == 0 (true) // MODERATOR == 1 (true), etc. ?> |
You can kind of mimic the enumerated values with arrays like so:
(more…)