Re: Re: [RFC] [Concept] Class Constant visibility modifiersin PHP 7.1+

From: Date: Tue, 08 Sep 2015 01:11:12 +0000
Subject: Re: Re: [RFC] [Concept] Class Constant visibility modifiersin PHP 7.1+
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-88111@lists.php.net to get a copy of this message
Sent from my iPhone > On Sep 8, 2015, at 02:09, Andrea Faulds <ajf@ajf.me> wrote: > > 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. > public static final as Java does Thanks > Thanks. > > -- > Andrea Faulds > http://ajf.me/ > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php

« previous php.internals (#88111) next »