I have a class that benefits from the use of constants in its internal implementation, but I would like to limit visibility of these constants. Why doesn't PHP permit private constants? Is there another way to achieve this or is PHP trying to discourage some type of design misstep I am ignorant of?
As of PHP 7.1, there are real private constants.
private const PRIVATE_CONST = 0;
See the Class Constant Visibility RFC for more information.