Source: https://stackoverflow.com/a/254543/508666 if class SplEnum is not present, I would normally use something simple like the following: abstract class DaysOfWeek { const Sunday = 0; const Monday = 1; // etc. } $today = DaysOfWeek::Sunday; However, other use cases may require more validation of constants and values. abstract class BasicEnum { private static $constCacheArray = NULL; private fun