Re: Deprecate and remove case-insensitive constants?

From: Date: Tue, 12 Sep 2017 19:43:42 +0000
Subject: Re: Deprecate and remove case-insensitive constants?
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-100549@lists.php.net to get a copy of this message
Hi! > case-insensitive constant. This feature appears to potentially result > in confusion, and also causes bugs as shown in > <https://bugs.php.net/74450>. See an example created by > Nikita to see > some probably unexpected behavior: > <https://3v4l.org/L6nCp>. The latter case probably should be fixed by not allowing second constant to be defined. If you already have case-insensitive constant, it should cover all of those. > Even if these issues could be resolved, I still think allowing both > case-sensitive and case-insensitive constant identifiers does more harm > than good, so either case-sensitive or case-insensitive constant > identifiers should be removed from the language. Since case-sensitive > constant identifiers are already the default, and HHVM doesn't even > support case-insensitive identifiers at all, I would suggest to remove > case-insensitive constant identifiers. I don't think HHVM not supporting something can be an argument. I'm worried about TRUE vs. True vs. true though - I've see all of those used around the code (not tRuE though ;) and breaking that would add a ton of meaningless work to maintainers without any upside. Same with NULL/null etc. I am also not convinced those constants are really that bad. I'd probably be fine with phasing out manual defines for case-insensitives though. But I'm not sure what purpose it would serve then - the engine would still have to support it, no? -- Stas Malyshev smalyshev@gmail.com

« previous php.internals (#100549) next »