rfc:php8

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rfc:php8 [2015/05/16 17:20] – Add headers levimrfc:php8 [2018/08/12 00:16] (current) – Embrace functions and method in #75958 carusogabriel
Line 4: Line 4:
 This page is a spot to list and discuss ideas for PHP 8. This is not a place to discuss features which may be accepted in the 7.X series; it is for features which require backwards compatibility breaks to achieve. This page is a spot to list and discuss ideas for PHP 8. This is not a place to discuss features which may be accepted in the 7.X series; it is for features which require backwards compatibility breaks to achieve.
  
-===== Proposals ===== +===== Ideas and Proposals ===== 
-  * **[[rfc:php8:merge_symbol_tables|Merge Symbol Tables]]**. This draft RFC focuses on the benefits and drawbacks to merging the class constant, property and symbol tables.+ 
 +Here are some ideas that have backwards compatibility implications: 
 + 
 +  * Unify behavior of userland and internal functions. 
 +    * In particular when internal functions fail to parse argument types correctly they fail by returning null. Userland functions throw a TypeError. 
 +  * Merge symbol tables: 
 +    * **[[rfc:php8:merge_member_symbol_tables|Merge Class Member Symbol Tables]]** 
 +    * **[[rfc:php8:merge_symbol_tables|Merge Constant, Function, and Class Symbol Tables]]** 
 +  * Extend ''instanceof'' to work with non-classes and add new functions for checking type and subtype relationships  e.g. ''($int instanceof int)'' ''is_type_of(1, 'int')'' ''is_subtype_of('array', 'iterable')''
 +  * Unify class and abstract type error behaviors when method incompatibilities exists; see https://3v4l.org/hamQi 
 +  * Remove always ''true'' return when isn't helpful for some functions and methods; see [[https://bugs.php.net/bug.php?id=75958|#75958]]. 
 + 
 +Here are some feature ideas: 
 + 
 +  * [[rfc:covariant-returns-and-contravariant-parameters]] Add parameter contravariance and return type covariance. This will probably change when autoloads are triggered. Additionally we probably want to reserve new types related to variance such as ''mixed''. New types in the global namespace are technically reserved already but in practice it would have a small BC impact. 
 +  * JIT (link?) 
 +  * FFI (link?)
rfc/php8.1431796851.txt.gz · Last modified: 2017/09/22 13:28 (external edit)