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
rfc:constructor_return_type [2020/06/16 00:22] – updated RFC moliatarfc:constructor_return_type [2020/06/17 10:04] (current) – mark as superseded 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: Superseded by [[rfc:make_ctor_ret_void]]
  
 ===== 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.1592266921.txt.gz · Last modified: 2020/06/16 00:22 by moliata