- Output for git.master, git.master_jit
- Testing boolean with function foo(boolean $i) { } foo(true); results in: Warning: "boolean" will be interpreted as a class name. Did you mean "bool"? Write "\boolean" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type boolean, bool given Testing double with function foo(double $i) { } foo(1.2); results in: Warning: "double" will be interpreted as a class name. Did you mean "float"? Write "\double" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type double, float given Testing integer with function foo(integer $i) { } foo(1); results in: Warning: "integer" will be interpreted as a class name. Did you mean "int"? Write "\integer" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type integer, int given Testing resource with function foo(resource $i) { } foo(STDOUT); results in: Warning: "resource" is not a supported builtin type and will be interpreted as a class name. Write "\resource" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type resource, resource given
- Output for rfc.property-hooks
- Testing boolean with function foo(boolean $i) { } foo(true); results in: Warning: "boolean" will be interpreted as a class name. Did you mean "bool"? Write "\boolean" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type boolean, true given Testing double with function foo(double $i) { } foo(1.2); results in: Warning: "double" will be interpreted as a class name. Did you mean "float"? Write "\double" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type double, float given Testing integer with function foo(integer $i) { } foo(1); results in: Warning: "integer" will be interpreted as a class name. Did you mean "int"? Write "\integer" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type integer, int given Testing resource with function foo(resource $i) { } foo(STDOUT); results in: Warning: "resource" is not a supported builtin type and will be interpreted as a class name. Write "\resource" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type resource, resource given
This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.
Active branches
Archived branches
Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page
- 2020-03-21 RFC: Is_Literal - declined
- 2020-12-04 Enumerations - included in PHP 8.1
- 2018-06-15 Typed Properties v2 - implemented in PHP 7.4
- 2016-08-12 Object typehint - included in PHP 7.2
- 2016-08-14 Arrow functions - withdrawn
- 2016-05-29 array_change_keys() - withdrawn
- 2016-04-19 Lexical scope support for anonymous classes - suspended
- 2016-04-17 Functional Interfaces - declined
- 2016-03-16 Typed Properties - superseded in favor of Typed Properties 2.0
- 2015-08-27 Callable Prototypes - declined
- 2015-05-01 Short Closures - declined / withdrawn in favor of Arrow Functions
- 2015-02-18 Scalar type hints v5 - included in PHP 7
- 2015-02-14 Union Types - declined
- 2013-09-22 Anonymous classes - included in PHP 7