rfc:typehint
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:typehint [2008/04/17 14:36] – felipe | rfc:typehint [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 4: | Line 4: | ||
* Author: Felipe Pena < | * Author: Felipe Pena < | ||
* Status: [[http:// | * Status: [[http:// | ||
+ | |||
====== Details of implementation ====== | ====== Details of implementation ====== | ||
**Parameter type hint:** | **Parameter type hint:** | ||
- | - The behavior when the default parameter value is '' | + | - The behavior when the default parameter value is '' |
**Both:** | **Both:** | ||
- Binary and unicode string are specified by '' | - Binary and unicode string are specified by '' | ||
Line 128: | Line 129: | ||
- isObject() | - isObject() | ||
- isResource() | - isResource() | ||
+ | |||
==== Examples ==== | ==== Examples ==== | ||
+ | |||
+ | === With default parameter value === | ||
+ | <code php> | ||
+ | function test(integer $value = ' | ||
+ | } | ||
+ | // Fatal error: Default value for parameters with integer type hint can only be the exact type or NULL | ||
+ | </ | ||
=== integer / int === | === integer / int === | ||
Line 138: | Line 147: | ||
test(1); | test(1); | ||
- | test(" | ||
test(-1); | test(-1); | ||
- | test(" | + | test(" |
- | + | // Catchable fatal error: Argument 1 passed to test() must be of the type integer, string given ... | |
- | function test(integer $value = ' | + | |
- | } | + | |
- | // Fatal error: Default value for parameters with integer type hint can only be the exact type or NULL | + | |
</ | </ | ||
Line 154: | Line 159: | ||
test(1.1); | test(1.1); | ||
test(.1); | test(.1); | ||
- | test(" | + | test(" |
- | test(" | + | |
- | + | ||
- | function test(double $value = ' | + | |
- | } | + | |
- | // Fatal error: Default value for parameters with double type hint can only be the exact type or NULL | + | |
</ | </ | ||
Line 168: | Line 168: | ||
test(false); | test(false); | ||
- | test(0); | + | test(0); // Catchable fatal error: Argument 1 passed to test() must be of the type boolean, null given |
- | test(1); | + | |
- | test(' | + | |
- | test(' | + | |
- | test('' | + | |
- | test(null); // Catchable fatal error: Argument 1 passed to test() must be of the type boolean, null given | + | |
</ | </ | ||
Line 192: | Line 187: | ||
test(new stdclass); | test(new stdclass); | ||
test(NULL); // Catchable fatal error: Argument 1 passed to test() must be of the type object, null given | test(NULL); // Catchable fatal error: Argument 1 passed to test() must be of the type object, null given | ||
- | |||
- | function test(object $value = 1) { | ||
- | } | ||
- | // Fatal error: Default value for parameters with object type hint can only be the exact type or NULL | ||
</ | </ | ||
rfc/typehint.1208442977.txt.gz · Last modified: 2017/09/22 13:28 (external edit)