问题
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?
回答1:
Use private static
properties.
In that case you will have the same variable throughout all objects and if you want to extend its scope to nested, you can expose a getter method to get its value and restrict variables settings.
回答2:
As of PHP 7.1, there are real private constants.
private const PRIVATE_CONST = 0;
See the Class Constant Visibility RFC for more information.
来源:https://stackoverflow.com/questions/6770407/why-doesnt-php-permit-private-const