rfc:case-sensitivity

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

rfc:case-sensitivity [2017/09/22 13:28] (current)
Line 1: Line 1:
 +====== PHP RFC: Make the PHP core case-sensitive ======
 +  * Version: 0.0
 +  * Date: 2014-12-26
 +  * Author: François Laupretre, francois@tekwire.net
 +  * Status: Draft
 +  * First Published at: http://​wiki.php.net/​rfc/​case-sensitivity
  
 +
 +===== Introduction =====
 +
 +This RFC is about making the PHP core case-sensitive.
 +
 +===== Proposal =====
 +
 +==== History ====
 +
 +==== Why ? ====
 +
 +==== Detail of proposal by symbol type ====
 +
 +=== Namespaces ===
 +
 +Case-sensitive
 +
 +=== Classes, interfaces, and trait names ===
 +
 +Case-sensitive
 +
 +=== Scope resolution operators ===
 +
 +self, parent, static ->​lowercase
 +
 +=== Functions ===
 +
 +Case-sensitive
 +
 +=== Magic methods ===
 +
 +lowercase except '​toString'​ ('​tostring'​ and '​toString'​ are valid).
 +
 +=== '​Non-magic'​ Methods ===
 +
 +Case-sensitive
 +
 +=== Built-in constants ===
 +
 +Remove support for case-insensitive constants. Remove CONST_CS flag.
 +
 +Special cases for existing case-insensitive built-in constants. The following
 +case-sensitive constants will be defined:
 +
 + * '​NULL',​ '​null',​ '​Null',​
 + * '​TRUE',​ '​true',​ '​True',​
 + * '​FALSE',​ '​false',​ '​False'​
 +
 +Every other case combination,​ like '​tRUE'​ or '​TrUe',​ will be considered as
 +userspace constants.
 +
 +=== User-defined constants ===
 +
 +Case-sensitive
 +
 +=== Keywords ===
 +
 +Keyword list at [[https://​github.com/​php/​php-langspec/​blob/​master/​spec/​09-lexical-structure.md#​keywords]]
 +
 +lowercase-only
 +
 +=== Other reserved names ===
 +
 +'​__halt_compiler'​ -> lowercase
 +
 +===== Backward Incompatible Changes =====
 +
 +===== Discussion and arguments =====
 +
 +===== Proposed PHP Version(s) =====
 +
 +List the proposed PHP versions that the feature will be included in.  Use relative versions such as "next PHP 5.x" or "next PHP 5.x.y"​.
 +
 +===== RFC Impact =====
 +==== To SAPIs ====
 +Describe the impact to CLI, Development web server, embedded PHP etc.
 +
 +==== To Existing Extensions ====
 +
 +==== To Opcache ====
 +
 +==== New Constants ====
 +
 + * '​NULL',​ '​null',​ '​Null'​
 + * '​TRUE',​ '​true',​ '​True'​
 + * '​FALSE',​ '​false',​ '​False'​
 +
 +==== php.ini Defaults ====
 +If there are any php.ini settings then list:
 +  * hardcoded default values
 +  * php.ini-development values
 +  * php.ini-production values
 +
 +===== Open Issues =====
 +Make sure there are no open issues when the vote starts!
 +
 +===== Unaffected PHP Functionality =====
 +List existing areas/​features of PHP that will not be changed by the RFC.
 +
 +This helps avoid any ambiguity, shows that you have thought deeply about the RFC's impact, and helps reduces mail list noise.
 +
 +===== Future Scope =====
 +This sections details areas where the feature might be improved in future, but that are not currently proposed in this RFC.
 +
 +===== Proposed Voting Choices =====
 +Include these so readers know where you are heading and can discuss the proposed voting options.
 +
 +State whether this project requires a 2/3 or 50%+1 majority (see [[voting]])
 +
 +===== Patches and Tests =====
 +Links to any external patches and tests go here.
 +
 +If there is no patch, make it clear who will create a patch, or whether a volunteer to help with implementation is needed.
 +
 +Make it clear if the patch is intended to be the final patch, or is just a prototype.
 +
 +===== Implementation =====
 +After the project is implemented,​ this section should contain ​
 +  - the version(s) it was merged to
 +  - a link to the git commit(s)
 +  - a link to the PHP manual entry for the feature
 +
 +===== References =====
 +Links to external references, discussions or RFCs
 +
 +===== Rejected Features =====
 +Keep this updated with features that were discussed on the mail lists.
rfc/case-sensitivity.txt · Last modified: 2017/09/22 13:28 (external edit)