Почему PHP не разрешает private const?

У меня есть класс, который использует использование констант во внутренней реализации, но я хотел бы ограничить видимость этих констант. Почему PHP не разрешает частные константы? Есть ли другой способ достичь этого или это PHP, пытающийся отказать в каком-то неправильном дизайне, о котором я не знаю?

Ответ 1

Используйте private static свойства.

В этом случае у вас будет одна и та же переменная во всех объектах, и если вы хотите расширить область ее действия до вложенной, вы можете предоставить метод получения, чтобы получить ее значение и ограничить настройки переменных.

Ответ 2

Как и в случае с PHP 7.1, существуют реальные частные константы.

private const PRIVATE_CONST = 0;

Подробнее см. RFC.