rfc:constructor_return_type

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
Last revisionBoth sides next revision
rfc:constructor_return_type [2020/06/16 00:22] – updated RFC moliatarfc:constructor_return_type [2020/06/17 10:01] – old revision restored (2020/06/16 21:14) cmb
Line 3: Line 3:
   * Author: Benas Seliuginas, <benas.molis.iml@gmail.com>   * Author: Benas Seliuginas, <benas.molis.iml@gmail.com>
   * Target version: PHP 8.0   * Target version: PHP 8.0
-  * Status: Draft+  * Status: On Hold
  
 ===== Introduction ===== ===== Introduction =====
Line 48: Line 48:
 </code> </code>
  
-Moreover, it's important to remember that the constructor magic method is rather a regular function that can be called just like any other method (i.e. ''$object-><nowiki>__</nowiki>construct();'').+Moreover, it's important to remember that the constructor is rather a regular function that can be called just like any other method (i.e. ''$object-><nowiki>__</nowiki>construct();'').
  
 ==== Documented as void ==== ==== Documented as void ====
Line 54: Line 54:
  
 ==== __clone allows void return type ==== ==== __clone allows void return type ====
-Given that the [[https://wiki.php.net/rfc/magic-methods-signature|magic methods' signature validation]] RFC is going to pass, we will be able to declare ''<nowiki>__</nowiki>clone'' return type as ''void''. Some had said, that the constructor "implicitly"/"indirectly" returns a new object.+Given that the [[https://wiki.php.net/rfc/magic-methods-signature|magic methods' signature validation]] RFC is going to pass, we will be able to declare ''<nowiki>__</nowiki>clone'' return type as ''void''. Some had said, that the constructor "implicitly"/"indirectly" returns a new object. But:
  
 <code php> <code php>
Line 68: Line 68:
  
 ==== Consistency with other methods ==== ==== Consistency with other methods ====
-Basically, all (both regular and magic) methods allow to have an explicit return type. The only exceptionsconstructors and destructors. As Kalle has pointed out, it is a finger habbit to type a return type after every method and could see himself write this as a style.+Basically, all (both regular and magic) methods allow to have an explicit return type. The only exceptions are constructors and destructors. 
 + 
 +As [[https://github.com/php/php-src/pull/5717#issuecomment-644419488|Kalle has pointed out]], it is a finger habbit to type a return type after every method and could see himself write this as a style.
  
 ===== Backward Incompatible Changes ===== ===== Backward Incompatible Changes =====
rfc/constructor_return_type.txt · Last modified: 2020/06/17 10:04 by cmb