Почему PHP не разрешает закрытый констант? - PullRequest
69 голосов
/ 21 июля 2011

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

Ответы [ 2 ]

61 голосов
/ 06 марта 2016

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

private const PRIVATE_CONST = 0;

См. Видимость констант класса RFC для получения дополнительной информации.

58 голосов
/ 21 июля 2011

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

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

...