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
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 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
Testing boolean with
function foo(boolean $i)
{
}
foo(true);
results in:
Argument 1 passed to foo() must be an instance of boolean, bool given
Testing double with
function foo(double $i)
{
}
foo(1.2);
results in:
Argument 1 passed to foo() must be an instance of double, float given
Testing integer with
function foo(integer $i)
{
}
foo(1);
results in:
Argument 1 passed to foo() must be an instance of integer, int given
Testing resource with
function foo(resource $i)
{
}
foo(STDOUT);
results in:
Argument 1 passed to foo() must be an instance of resource, resource given
Testing boolean with
function foo(boolean $i)
{
}
foo(true);
results in:
Argument 1 passed to foo() must be an instance of boolean, boolean given
Testing double with
function foo(double $i)
{
}
foo(1.2);
results in:
Argument 1 passed to foo() must be an instance of double, float given
Testing integer with
function foo(integer $i)
{
}
foo(1);
results in:
Argument 1 passed to foo() must be an instance of integer, integer given
Testing resource with
function foo(resource $i)
{
}
foo(STDOUT);
results in:
Argument 1 passed to foo() must be an instance of resource, resource given
Testing boolean with
function foo(boolean $i)
{
}
foo(true);
results in:
Catchable fatal error: Argument 1 passed to foo_boolean() must be an instance of boolean, boolean given, called in /in/816pM(18) : eval()'d code on line 4 and defined in /in/816pM(18) : eval()'d code on line 1
Process exited with code 255.