我想尝试PHP 7的返回类型声明(我在windows上使用PHP 7RC3用于此目的)
想从一些非常简单的东西开始:
function getme() : integer
{
return 434;
}
echo getme();
但是这给了我一个致命的错误:
致命错误:Uncaught TypeError: getme()的返回值必须是整数的一个实例,返回整数
,然后我也试图转换返回值,但是return (integer) 434;
或return (int) 434;
给出相同的错误;
最后我也试了:
function getme() : integer
{
$i = 434;
return (integer) $i;
}
echo getme();
得到相同的结果。
我做错了什么?
或者我误解了什么?
谢谢你的解释和帮助!
这就是为什么我认为我必须使用integer
而不是int
(特别注意托比艾伦):
:
无效使用示例(…)
// Int is not a valid type declaration
function answer(): int {
return 42;
}
answer();
没有添加新的保留字。名称为int, float, string和Bool类型被承认和允许作为类型声明,并被禁止From use作为类/接口/trait名(包括with use和class_alias)。
从:https://wiki.php.net/rfc/scalar_type_hints_v5
TL/博士:
function getme() : int
{
return 434;
}
echo getme();