rfc:intersection_types

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
rfc:intersection_types [2016/04/28 03:55] levimrfc:intersection_types [2016/04/28 14:21] – Add 3v4l.org links levim
Line 12: Line 12:
 Intersection types allow the programmer to write multiple type declarations for a parameter or return value. The value must satisfy all of the declared types. Each type is separated by ampersand (''&''). Intersection types allow the programmer to write multiple type declarations for a parameter or return value. The value must satisfy all of the declared types. Each type is separated by ampersand (''&'').
  
-Here is a practical example:+Here is a practical example. Given this definition:
  
 <PHP> <PHP>
Line 27: Line 27:
     }     }
 } }
 +</PHP>
  
-// Fatal error: Uncaught TypeError: Argument 1 passed to RecordsToList() must be Countable and Traversable, array given, called in %s on line %d+This will error ([[https://3v4l.org/qCeXi/rfc#rfc-multi-types|see on 3v4l.org]]): 
 +<PHP> 
 +// Argument 1 passed to RecordsToList() must be Countable and Traversable, array given
 echo RecordsToList(["Lennon", "McCartney", "Starr", "Harrison"]); echo RecordsToList(["Lennon", "McCartney", "Starr", "Harrison"]);
 +</PHP>
  
-// Fine:+This works correctly ([[https://3v4l.org/7GvqN/rfc#rfc-multi-types|see on 3v4l]]): 
 +<PHP>
 echo RecordsToList(new ArrayObject(["Lennon", "McCartney", "Starr", "Harrison"])); echo RecordsToList(new ArrayObject(["Lennon", "McCartney", "Starr", "Harrison"]));
 // Output: // Output:
Line 40: Line 45:
 //     <li>Harrison</li> //     <li>Harrison</li>
 // </ol> // </ol>
- 
 </PHP> </PHP>
  
rfc/intersection_types.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1