Я пытаюсь сделать что-то вроде побитового перечисления в PHP согласно этому ответу . Однако, хотя это работало хорошо, когда я определил все константы как обычные целые числа, как это:
final class CountryEnum {
const CZ = 1; //Czech Republic
const DE = 2; //Germany
const DK = 4; //Denmark
//12 more
const US = 32768; //USA
}
Это не работает, когда я пытаюсь определить значения с помощью шаблона сдвига битов, т. Е .:
final class CountryEnum {
const CZ = 1; //Czech Republic
const DE = 1 << 1; //Germany
const DK = 1 << 2; //Denmark
//12 more
const US = 1 << 15; //USA
}
Когда я пытаюсь запустить это, PHP произносит подходящую поговорку
Ошибка разбора: ошибка разбора, ожидание ','' or
';' 'в CountryEnum.php в строке [строка с const DE]
Так что я, вероятно, упускаю некоторые фундаментальные базовые вещи, но я в растерянности.