rfc:case-sensitivity
no way to compare when less than two revisions

Differences

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


Previous revision
Last revision
rfc:case-sensitivity [2017/09/22 13:28] – external edit 127.0.0.1
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: 2021/03/27 14:26 by ilutov