返回类型声明-致命错误:必须是整数的实例,返回整数返回


Return type declaration - Fatal error: must be instance of integer, integer returned return

我想尝试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(特别注意托比艾伦):

从https://wiki.php.net/rfc/return_types

:

无效使用示例(…)

// 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();