Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:101126 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 70299 invoked from network); 12 Nov 2017 09:38:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Nov 2017 09:38:27 -0000 X-Host-Fingerprint: 62.31.75.76 76.75-31-62.static.virginmediabusiness.co.uk Received: from [62.31.75.76] ([62.31.75.76:5056] helo=localhost.localdomain) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 31/39-15386-196180A5 for ; Sun, 12 Nov 2017 04:38:26 -0500 Message-ID: <31.39.15386.196180A5@pb1.pair.com> To: internals@lists.php.net References: <93a05192-ed34-2164-50f9-2799899b32d1@fleshgrinder.com> <4ee3d414-92e1-75c7-402f-16a37ed3016b@fleshgrinder.com> <3f093ce2-e00e-f210-6e35-de31eb2f4b07@gmail.com> <0061a0c9-328c-75cb-cf6f-8e444e9ea3c0@fleshgrinder.com> <2f555141-96e0-3bab-c191-1216747644a5@fleshgrinder.com> <549c4634-ac38-41d3-ab43-f816a9f2b1e5@fleshgrinder.com> In-Reply-To: <549c4634-ac38-41d3-ab43-f816a9f2b1e5@fleshgrinder.com> Date: Sun, 12 Nov 2017 09:38:21 -0000 Lines: 2 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=original Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Newsreader: Microsoft Windows Live Mail 16.4.3564.1216 X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3564.1216 X-Posted-By: 62.31.75.76 Subject: Re: [PHP-DEV] Constants and Access Modifiers From: TonyMarston@hotmail.com ("Tony Marston") wrote in message news:549c4634-ac38-41d3-ab43-f816a9f2b1e5@fleshgrinder.com... > >On 11/12/2017 12:44 AM, Stanislav Malyshev wrote: >> Hi! >> >>> Yes, Dart has a different understanding of const, which is exactly why I >>> posted it for you guys. In the hope that it helps to get more different >>> views on the topic. Currently you are too concentrated on how it is >>> implemented in PHP at this time, and argue that it is impossible to >>> diverge from that path. Which is simply not true, we only have to ensure >>> backwards compatibility. >> >> I am not arguing it's impossible, I am arguing it is not a good idea. We >> have the concept of constants in this language, and bolting on it a >> completely different concept from different language, which by >> coincidence was named with the same term, would only be a source of >> confusion. If we wanted immutable objects in language - which I am not >> convinced at all we do, but assuming for a minute we did - there's no >> reason to conflate them with constants as we have them now. These are >> different things. >> > >I did not mean to say that we have to have everything exactly as Dart >has it. I just wanted to show, that the meaning of const as we have is >not universally the same. > >Abstract constants would also only be truly useful if we could define >the type as well on them. Which is currently not possible. Also, I am >not saying that the requested feature MUST be done with const. However, >it should behave like one, which is impossible with methods. Just because some languages use a corrupt definition of "constant" is no reason for PHP to do the same. A constant has a value which, once defined, cannot be changed. It is not logical to define a constant name in one place and its value in another. -- Tony Marston