RE: [PHP-DEV] Proposal for PHP 7 : case-sensitive symbols
| From: | François Laupretre | Date: | Thu, 25 Dec 2014 03:40:09 +0000 |
| Subject: | RE: [PHP-DEV] Proposal for PHP 7 : case-sensitive symbols | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-79929@lists.php.net to get a copy of this message | ||
> > De : Pierre Joye [mailto:pierre.php@gmail.com]
>
> > Anyone dying while waiting to see PHP having case sensitive symbols
> > handling should go ahead with a RFC.
For those interested, I just created a PR to raise an E_STRICT message on class and function/method
case mismatch :
https://github.com/php/php-src/pull/965
It is not complete yet, as some cases are not trapped, especially for functions, and the
corresponding tests are missing. I'll try to write the RFC (to propose the feature for PHP7)
and finish the patch this week. Checking constants is more complex than expected as the namespace
part is converted to lowercase during the compile phase. This RFC will deal with classes and
functions (including class methods) only.
> He will also have to deal with
> file ops while being at it. Should they remain case insensitive? Do
> manual checks to match the path actually being requested (ie. possible
> on windows using meta info), or keep everything the way it is now?
Do you mean simulating case-sensitive paths on case-insensitive file systems ? Why not, depending on
the overhead it brings. Unfortunately, I don't have the Windows skills required to work on the
subject.
About the overhead the check introduces, note that it is supposed to be temporary. The final goal is
to store symbols as-Is, eliminating the need for lowercase conversions. This would remove a lot of
allocations and calls to zend_str_tolower_copy(). This would also remove a lot of code.