On Tue, 24 Feb 2015, Yasuo Ohgaki wrote: > On Tue, Feb 24, 2015 at 4:48 PM, Alexander Lisachenko < > lisachenko...@gmail.com> wrote: > > > There is a draft for that: https://wiki.php.net/rfc/case-sensitivity > > (mostly empty), so I decided to ask this question in the internals > > mail list. > > > > Pros: more simple O(1) hash table checks for properties, functions, > > methods, classes without strtolower normalization on the > > engine/parser level. Consistency with unicode class names (yes, they > > are case sensitive, check http://3v4l.org/ia0pc), consistency with > > exisiting PSR0,4 standards (case sensitive mapping of class names to > > the file names) > > > > From my experience, all modern PHP framework don't use > > case-insensitive code, so chance to break anything for them is > > really low. > > > > Cons: on the extension level things aren't so good and can be some > > BC breaks (like with phpng) > > > > Possible ways: > > > > 1) Keep PHP engine case-insensitive for PHP7 > > 2) Make PHP engine case-sensitive since PHP7 with possible minor BC breaks > > in the extensions (this breaks can be easily fixed) > > 3) Add a compile-time switch, eg. --with-case-sensitivity to the > > configuration to have an ability to build PHP with sensitivity and make > > this option enabled by default since next major version (PHP>=8.0). Add > > deprecation notices in 7.x > > > > INI switch is better. Compiler switch would not work well, since user > cannot check their code easily.
An INI setting that changes how syntax or code works is never *never* a good idea. It's something that many developers have no control over. To be really honest, I don't think all of the pro's hold up. For a hash check, there is no change really - the only change that is to remove the zend_tolower. Previous discussions have IIRC shown that the performance benefit is minimal. Compatibility with PSR's is also a moot point, as there are just recommendations. However, there are a few extra cons: You are going to break people's code on a large scale. I simply don't think it is worth it (again, just like when this discussion popped up every year or so for the last decade). cheers, Derick -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php