rfc:splweaktypehintingwithautoboxing

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:splweaktypehintingwithautoboxing [2010/05/31 15:48] tyraelrfc:splweaktypehintingwithautoboxing [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Request for Comments: How to write RFCs ======+====== Request for Comments: SPL weak type hinting ======
   * Version: 1.0   * Version: 1.0
   * Date: 2010-05-31   * Date: 2010-05-31
Line 11: Line 11:
 This rfc tries to propose an alternative solution for type hinting in PHP. This rfc tries to propose an alternative solution for type hinting in PHP.
 Basically its a weak type hinting(auto type conversion if possible without data loss), with support for scalars*, implemented as an spl interface. Basically its a weak type hinting(auto type conversion if possible without data loss), with support for scalars*, implemented as an spl interface.
 +
 +* You hint the matching Spl classname instead of the scalar name, the weak type hinting will kick-in and validate/convert the passed argument into the Spl type, but it can be used as a scalar thanks to the behaviour provided by the SplType.
  
 ===== Why weak type hinting? ===== ===== Why weak type hinting? =====
Line 34: Line 36:
 class foo implements WeakTypeHinting{ class foo implements WeakTypeHinting{
   public function bar(SplInt $baz){   public function bar(SplInt $baz){
-   return $baz++; +    return ++$baz
- }+  }
 } }
  
Line 47: Line 49:
 </code> </code>
  
-===== Some crazy thoughts =====+===== Notes =====
 If an object implements ArrayAccess spl interface, it could be handled as an array(eg. if you hinted array, you can pass ArrayObject). If an object implements ArrayAccess spl interface, it could be handled as an array(eg. if you hinted array, you can pass ArrayObject).
rfc/splweaktypehintingwithautoboxing.1275320909.txt.gz · Last modified: 2017/09/22 13:28 (external edit)