Hi Stas, Stanislav Malyshev wrote:
Private and protected methods and properties are private for a reason - they may be radically changed or gone when the code is changing, and thus external code should not rely on them, and the way to ensure it is to deny that code access to them. However, I have hard time seeing how that would apply to constants - they shouldn't really change,
Why not? A constant's value doesn't change at runtime, but nothing stops you changing the value in a new version. A real-world example for you: phpng changed the values of the IS_* constants in the Zend Engine.
and if they do, they either shouldn't be constant, or something in your world changed fundamentally (i.e. scientists discovered that PI actually equals to 4).
Constants in code aren't necessarily natural constants. I wonder if you find in your code constant that you need
to hide because you foresee it changing - should it really be a constant at all?
If I have a value specified in the source code which will not change at runtime, and which I don't want to expose as part of my public API... what exactly do you propose it should be? I don't see why a constant isn't fitting.
Thanks. -- Andrea Faulds http://ajf.me/ -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php